Conan安装和使用
安装
pip install conan
pip install conan --upgrade # 更新需要管理员权限
client配置文件位置
%USERPROFILE%\.conan\
目录下的 conan.conf
文件
修改包储存目录和下载缓存目录
[storage]
path = ./data
download_cache = ./download_cache
包查询
# 检索远程
conan search [PACKAGE_NAME] --remote=conan-center
conan search gtest --remote=conan-center
# 检索本地
conan search [PACKAGE_NAME]
conan search gtest
# 检索本地所有缓存包
conan search "*"
# 检查不同二进制包引用
conan search [PACKAGE_NAME]/[VERSION]@
conan search gtest/1.10.0@
# 查询包的详细信息
conan inspect [PACKAGE_NAME]/[VERSION]
conan inspect gtest/1.10.0
# 生成依赖关系图
conan info .. --graph=file.html
编译
# 安装填conanfile.txt所在的路径
conan install [dictionary(conanfile.txt)]
conan install ..
mkdir build & cd build
# 编译debug
conan install .. -s build_type=Debug --build missing
# 编译release
conan install .. -s build_type=Release --build missing
# 编译VS2022
conan install .. -s build_type=Debug -s compiler="Visual Studio" -s compiler.runtime=MDd -s compiler.version=17 -s compiler.toolset=v143 -s compiler.cppstd=20 --build missing
# 编译系统和编译器
conan install .. --settings os="Linux" --settings compiler="gcc"
ConanCenter仓库中有针对几个主流编译器和版本进行了预构建的二进制文件,如果当前配置在ConanCenter中没有与构建,Conan会返回"BinaryMissing"错误,--build missing
表示从源码中构建二进制包。
conan install
会在当前目录中创建一个包含CMake变量的 conanbuildinfo.cmake
,和一个其他配置信息的conaninfo.txt
。
配置设置
# 自动检测并生成默认配置
conan profile new default --detect
# 修改默认配置的编译器设置
conan profile update settings.compiler.libcxx=libstdc++11 default
仓库管理
# 查看远程仓库
conan remote list
# 添加仓库
conan remote add [REMOTE_NAME] [URL]
conan remote add conan-com https://jfrog.XXXXXX./
# 添加账号和密码
conan user -p [PASSWORD] -r [REMOTE_NAME] [USER]
# Package格式: package_name/version@USER/directory
配置文件
官方Demo
CMakeLists.txt Demo
安装poco,conanfile.txt
描述
[requires]
poco/1.10.1
[options]
# 编译成动态库, shared默认False
poco:shared=True
如果用conan new
会生成一个conanfile.py
,这个依赖myjson
conan new [PACKAGE_NAME]/[VERSION] --template cmake_exe
可以通过模板快速创建