• C++通过VS2022使用Conan2.0安装fmt库实现控制台彩色打印


    Conan是一个开源的C/C++包管理器,用于管理和构建C/C++项目的依赖关系。它允许开发人员轻松地集成第三方库、工具和资源到他们的项目中,并管理这些依赖项的版本、构建选项和配置。

    Conan官方提供了对应的VS2022扩展插件,通过这个插件再搭配VS2022本身的C++项目构建工具,可以非常方便地导入大部分C++库文件,本次博客就以fmt库为例,演示在VS2022上面安装并导入fmt库。

    首先安装对应的Conan插件,安装好了之后重启VS2022。

    创建一个C++控制台项目。

    在视图下面找到安装好的Conan插件。

    打开插件,点击齿轮图标,开始配置Conan的执行文件。

    如果你是使用python安装的Conan,那么conan.exe大概率就在你的python目录下面。

    将文件路径写入到以下界面中。

    搜索fmt,然后点击Add requirement。

    自动生成了配置文件。

    右击项目文件夹,点击生成。

    然后就报失败了,不要慌,仔细阅读提示信息。

    1. 1>****************************************************************
    2. 1>* *
    3. 1>* Conan installation completed successfully. *
    4. 1>* Please relaunch the build to apply the new changes. *
    5. 1>* *

    说明我们的库其实安装成功了,但是VS2022的项目构建器不知道为什么突然抽风了,有时候VS就是会这样,莫名奇妙抽风。

    再次点击生成,发现成功了。

    把这串代码复制到cpp文件里面。

    1. #include
    2. // 定义ANSI转义码
    3. #define RESET "\033[0m"
    4. #define RED "\033[31m"
    5. #define GREEN "\033[32m"
    6. #define YELLOW "\033[33m"
    7. #define BLUE "\033[34m"
    8. int main() {
    9. // 输出彩色文本
    10. fmt::print("{}This is {}red{} text.{}\n", RED, RESET, RED, RESET);
    11. fmt::print("{}This is {}green{} text.{}\n", GREEN, RESET, GREEN, RESET);
    12. fmt::print("{}This is {}yellow{} text.{}\n", YELLOW, RESET, YELLOW, RESET);
    13. fmt::print("{}This is {}blue{} text.{}\n", BLUE, RESET, BLUE, RESET);
    14. return 0;
    15. }

    没有报红色,说明我们的fmt库安装到了项目里面了。

    直接运行代码就可以了!是不是非常简单,Conan官方提供了非常友好的插件给VS和VSCode,可以使得这两个IDE在进行C++项目开发的时候轻松导入大部分第三方库,不过像Qt和Boost这类超大型库,就不要使用Conan安装了,很容易出错,而且Qt和Boost官方提供了自己的安装方式,也相当的友好。

  • 相关阅读:
    宝塔安装python和openssl
    Python WebApp 全栈开发 (技术方案备忘)
    字节最爱问的智力题,你会几道?
    【云原生 | 从零开始学Kubernetes】十七、Kubernetes核心技术Service
    #ubuntu# #常用工具#
    GPT4RoI: Instruction Tuning Large Language Model on Region-of-Interest
    Vue3 模板语法
    调用电商集成平台 聚水潭 api接口示例
    Android 实现三维空间坐标系(WebView与JS交互,支持多条曲线,可设置坐标轴翻转等)
    【深度学习】Chinese-CLIP 使用教程,图文检索,跨模态检索,零样本图片分类
  • 原文地址:https://blog.csdn.net/weixin_74027669/article/details/139756908