博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++包管理工具Conan简介
阅读量:2163 次
发布时间:2019-05-01

本文共 1597 字,大约阅读时间需要 5 分钟。

    Conan是一个开源的、跨平台的、去中心化的C和C++包管理器,它的源码在 ,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的介绍可以参考: ,python的版本需要3.8

conda create -n test_conan python=3.8conda activate test_conanpip 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一个文件,执行完后会多出几个文件,如下图所示:

转载地址:http://ytbzb.baihongyu.com/

你可能感兴趣的文章
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>
linux基本命令
查看>>
BlockQueue 生产消费 不需要判断阻塞唤醒条件
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>