0

0

C++怎么使用Conan包管理器_C++依赖管理与Conan使用方法

尼克

尼克

发布时间:2025-11-18 17:57:05

|

1007人浏览过

|

来源于php中文网

原创

安装Conan需先安装Python并使用pip install conan;2. 创建conanfile.txt声明依赖如fmt/10.2.1并指定CMakeToolchain和CMakeDeps生成器;3. 在CMakeLists.txt中引入Conan生成的toolchain和依赖配置文件;4. 构建前在build目录运行conan install命令下载依赖并生成配置;5. 确保conan install时指定的编译器设置与实际环境一致以避免兼容问题。

c++怎么使用conan包管理器_c++依赖管理与conan使用方法

使用Conan进行C++依赖管理可以显著简化第三方库的引入和构建过程。Conan是一个灵活且跨平台的C/C++包管理器,支持多种编译器、架构和构建系统。下面介绍如何在项目中配置和使用Conan来管理依赖。

安装与环境准备

Conan基于Python开发,因此需要先安装Python(推荐3.7以上版本),然后通过pip安装Conan:

pip install conan

安装完成后,可通过以下命令验证是否成功:

conan --version

首次运行时,Conan会初始化本地缓存目录(通常位于~/.conan2C:\Users\用户名\.conan2)。

立即学习C++免费学习笔记(深入)”;

创建conanfile.txt定义依赖

在项目根目录下创建conanfile.txt文件,用于声明所需的库及其版本。例如,要使用fmt库进行格式化输出

[requires]
fmt/10.2.1

[generators]
CMakeToolchain
CMakeDeps

其中:

  • requires:列出项目依赖的包和版本。
  • generators:指定生成的构建辅助文件类型。CMakeDeps用于生成CMake可识别的配置文件,CMakeToolchain用于传递编译器设置。

集成到CMake项目

若使用CMake构建项目,需修改CMakeLists.txt以加载Conan生成的配置:

cmake_minimum_required(VERSION 3.15)
project(MyProject LANGUAGES CXX)

导入Conan生成的工具

include(${CMAKE_BINARY_DIR}/conan_toolchain.cmake)

Vondy
Vondy

下一代AI应用平台,汇集了一流的工具/应用程序

下载

set(CMAKE_CXX_STANDARD 17)

add_executable(main main.cpp)

加载Conan生成的依赖配置

find_package(fmt REQUIRED CONFIG)
target_link_libraries(main PRIVATE fmt::fmt)

这样就能在代码中直接使用fmt库:

#include <fmt/core.h>
int main() {
   fmt::print("Hello, {}!\n", "Conan");
   return 0;
}

执行Conan安装命令

在构建前,先运行Conan命令下载并配置依赖:

mkdir build && cd build
conan install .. --build=missing -s compiler=gcc -s compiler.version=11 -s compiler.libcxx=libstdc++11

参数说明:

  • --build=missing:如果预编译包不可用,则从源码构建。
  • -s:指定编译器、标准库等设置,确保与当前环境一致。

执行后,Conan会在构建目录生成conan_toolchain.cmake和多个*Config.cmake文件,供CMake使用。

基本上就这些。只要配置好conanfile.txt并正确接入CMake流程,Conan就能自动处理依赖获取、版本管理和编译适配。对于复杂项目,还可以升级到conanfile.py实现更精细控制。整个过程不复杂但容易忽略编译器设置匹配问题,务必保证Conan配置与实际构建环境一致。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

373

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

437

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

803

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

371

2025.07.23

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

19

2026.02.03

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1051

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

614

2024.08.29

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 5万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号