Conan是C++跨平台包管理工具,通过pip安装后可用conanfile.txt或conanfile.py声明依赖,支持自动下载、构建及生成CMake配置,简化库管理和项目构建流程。

在现代C++开发中,手动管理第三方库的依赖和编译配置非常繁琐。Conan 是一个功能强大的 C++ 包管理工具,支持跨平台、多构建系统,并能自动处理不同版本的依赖关系。下面是一个实用的 Conan 使用指南,帮助你快速上手。
Conan 基于 Python 开发,因此需要先安装 Python(推荐 3.7+),然后通过 pip 安装:
安装完成后,运行 conan --version 验证是否成功。
进入你的 C++ 项目目录,创建一个 conanfile.txt 来声明依赖:
立即学习“C++免费学习笔记(深入)”;
[requires] boost/1.82.0 openssl/3.1.3 fmt/10.0.0 [generators] cmake_find_package
这个文件说明项目依赖 Boost、OpenSSL 和 fmt 库。generators 指定生成适配 CMake 的查找脚本。
接着执行命令下载并配置依赖:
该命令会把依赖安装到 build 目录,并在缺少二进制包时自动从源码构建。
如果你使用 CMake,可以在 CMakeLists.txt 中正常查找库:
find_package(Boost REQUIRED) find_package(OpenSSL REQUIRED) find_package(fmt REQUIRED) target_link_libraries(your_target PRIVATE Boost::headers OpenSSL::SSL fmt::fmt)
因为 Conan 生成了对应的 FindXXX.cmake 文件,CMake 能正确找到这些库。
对于更复杂的项目,建议使用 conanfile.py 替代 conanfile.txt。它可以编写 Python 代码来定义构建逻辑、条件依赖等:
from conan import ConanFile
from conan.tools.cmake import CMake
class HelloConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeToolchain", "CMakeDeps"
def requirements(self):
self.requires("boost/1.82.0")
self.requires("fmt/10.0.0")
def layout(self):
self.folders.generators = "conan"
使用这种方式,你可以更灵活地控制输出路径、构建参数和平台配置。
你也可以把自己写的库打包并分享:
这样团队或社区就可以像使用其他库一样引入你的代码。
基本上就这些。Conan 让 C++ 依赖管理变得简单可靠,尤其适合大型项目或多平台发布场景。
以上就是C++如何使用Conan管理依赖_C++包管理工具Conan使用指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号