conan 是 c++的一个包管理工具, 开源,免费, 具有私有化部署, 版本依赖的工能
项目如果要使用 conan, 需要制作 conanfile.txt 文件或 conanfile.py 文件.
conanfile.txt 文件内容:
[requires]
# 下面是项目用到的依赖以及版本
[generators]
# 下面是将要生成的项目构建工具类型(cmake)
CMakeDeps
CMakeToolChain
设置本机环境(profile)
conan detach profile --force
profile 文件内容
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=12
os=Linux
[requires]
zlib/1.2.11
[generators]
CMakeDeps
CMakeToolchain
使用 cmake 进行安装
conan install . --output-folder=build --build=missing --settings=build_type=Debuug
output-folder 说明最后生成的文件将会在 build 目录下, 否则,将会在 conanfile.txt 目录下
build=missing 说明如果服务器中的包不存在二进制源的话就下载源码进行编译
settings 设置 conan 的变量, 默认存储在 profile 文件中, 这里可以指定进行覆盖
删除本机缓存的包
conan remove fmt
进入 build 目录下
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug
在这里通过 CMAKE_TOOLCHAIN_FILE 指定 conan 生成的 cmake 配置工具链, CMAKE_BUILD_TYPE 指定构建的类型是 Debug 还是 Release, note:一定要和 conan install 中的 build_type 匹配
cmake --build .
通过传递 --options=zlib/1.2.11:shared=True 进行指定
创建 conanfile.py 文件
conan new basic(cmake_lib)
根据项目类型修改 conanfile.py 文件
打包进入本机的 local 环境
conan create .
步骤:
- 克隆项目
- 根据里面的模板类型创建文件夹
- 修改 sha256
- 如果 c++标准 14 以上, 注意修改编译器类型
- 测试
conan create all/conanfile.py --version 0.3.0