C/C++包管理工具Conan简介
Posted fengbingchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++包管理工具Conan简介相关的知识,希望对你有一定的参考价值。
Conan是一个开源的、跨平台的、去中心化的C和C++包管理器,它的源码在https://github.com/conan-io/conan ,License为MIT,最新发布版本为1.38.0,由Python实现。版本更新较频繁,但保持向前兼容。
Conan特点:
(1).它是完全去中心化的:用户可以将他们的包托管在他们的私有服务器上,与JFrog Artifactory 和ConanCenter集成。具有客户端----服务器架构,客户端可以从不同的服务器(“远程”)获取包,也可以将包上传到不同的服务器,similar to the “git” push-pull model to/from git remotes.
(2).它适用于所有平台:包括Linux、OSX、Windows、android、ios,也支持嵌入式,还支持交叉编译。
(3).管理二进制文件:它可以为任何配置和平台甚至包括交叉编译创建、上传和下载二进制文件,从而节省大量开发和持续集成时间。二进制兼容性也可以配置和定制。在所有平台上以相同的方式管理所有工件。
(4).与任何构建系统集成,包括任何专有和定制系统:为主要构建系统(CMake、Visual Studio MSBuild、Makefiles、Meson等)提供经过测试的支持。
(5).可扩展。
ConanCenter:是一个中央公共存储库,包含数百个流行的开源库包,以及许多针对主流编译器版本的预编译二进制文件。
JFrog Artifactory Community Edition (CE):是推荐的、免费的、Conan服务器,可在你的控制下私下托管你自己的包。它是JFrog Artifactory for Conan包的免费社区版。
Conan client:命令行工具,用于创建包和使用包,可创建本地仓库支持离线使用。
Conan server:可私有化部署的服务器,是一个与Conan客户端一起分布的小型服务器。 它是一个简单的开源实现,提供基本功能。
安装Conan:这里通过Conda安装Conan,关于Conda的介绍可以参考:https://blog.csdn.net/fengbingchun/article/details/86212252 ,python的版本需要3.8
conda create -n test_conan python=3.8
conda activate test_conan
pip install conan #conda install -c conda-forge conan
在Conan中,一个包的定义:包名/版本@用户/渠道
Conan客户端常用命令:
(1).查看conan版本:conan --version
(2).搜索软件包,如opencv:conan search opencv* -r=all (或-r=conan-center)
(3).显示所有源:conan remote list
(4).通过conanfile.txt安装依赖包:conan install .
下面是下载openssl 1.0.2s依赖包示例,conanfile.txt内容如下:
[requires]
openssl/1.0.2s
[generators]
cmake
在conanfile.txt目录下执行以下命令:
~/Disk/anaconda3/envs/test_conan/bin/conan install . -s arch=x86_64 -s compiler=gcc -s compiler.libcxx=libstdc++ -s compiler.version=4.9 -s os=Linux --build=openssl --build=zlib
执行结果如下图所示,会在~/.conan/data/openssl/1.0.2s目录下生成对应的头文件和库:
执行上述命令前,在当前目录下仅有conanfile.txt一个文件,执行完后会多出几个文件,如下图所示:
以上是关于C/C++包管理工具Conan简介的主要内容,如果未能解决你的问题,请参考以下文章
C/C++ 如何进行持续交付 ?使用 Jenkins+Conan!
今晚8点C/C++也可以做开源组件漏洞扫描了!——Conan的最新发展
conan入门(二十六):使用make编译erpc/erpcgen(makefile)