Conan 安装
-
pip install conan
: 详见;
安装完成后:conan --version
Conan version 1.51.0 - 配置文件见
~/.conan/
目录下文件
Conan 入门
-
git clone https://github.com/conan-io/examples.git && cd examples/libraries/poco/md5
这个例子写的很棒,很好理解。
build
build.bat
build.sh
CMakeLists.txt
conanfile.txt
md5.cpp
README.md
执行 ./build.sh
即可编译出 md5。
$ cat ./build.sh
#!/bin/bash
set -e
set -x
rm -rf build
mkdir build
pushd build
conan install .. --build=missing
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
bin/md5
- 通过命令
conan search poco --remote=conancenter
查询 poco 库 -
conan inspect poco/1.9.4
检阅 poco 库的 1.9.4 版本。 - 通过命令
conan info .
可以通过当前工程的 conanfile.txt 文件,检阅当前工程的所有各层依赖,包括 poco 所依赖的那些库,及其各级传递依赖(transitively required)。
$ cat conanfile.txt
[requires]
poco/1.9.4
[generators]
cmake
- 私有库 private packages,下载 社区版 JFrog Artifactory。
Conan Documentation
- Conan github:The open-source C/C++ package manager。
- 方便和 CMake 工程集成,示例。支持公共库、私有库、Fork 公共库。
- 目前 recipes 已有 1346 种,pcre、libcurl、libpcap、mbedtls 都已在公共库中。可在 页面 查询,也可命令
conan search poco --remote=conancenter
查询。 -
conanfile.txt:
包管理 package manager
- Conan: The open-source C/C++ package manager。
- The Meson Build System;
- CPM.cmake:CMake's missing package manager.
- cpp-pm/hunter: CMake driven cross-platform package manager for C/C++.
- vcpkg 微软。g++ >= 6 不适合。
- reddit: Best way to manage dependencies with c++?
- How to properly manage dependencies for C/C++ project?