Conan 中的“包”概念

Conan 作为 C++ 包管理软件,最重要的功能就是“包”,因此我们需要仔细看看其包管理的基本概念。

定义:“包” 与 “二进制包”

Conan 最主要的功能就是可以管理好预编译好的二进制文件用于后续打包。关于“包”这里有两层定义:“包”(package recipe)、 “二进制包”(binary package)。

区别“包”(package recipe)“二进制包”(binary package)
概念逻辑定义实际使用
从属关系1:N1:N
定义包名/版本@用户/渠道settings & options

过程:如何从“包” 变成 “二进制包”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ewf9e6xn-1575689286311)(https://docs.conan.io/en/latest/_images/package_create_flow.png)]

setting 和 option 的区别:setting 是 Conan 给出标准配置项,option 是包的自定义配置项。

方法:3 种打包方式

  • package_info():1 config (1 build) -> 1 package
  • package_info():N configs -> 1 package
  • build_id():N configs (1 build) -> N packages

技巧:基于“配置文件”进行打包

我们知道在 Conan 中,可以通过设置不同的 setting 和 option 生成不同的“二进制包”(binary package)。通过“配置文件”(profiles)就可以方便的进行管理。

一个配置文件的定义:

[settings]
#setting=value
os_build=Linux
arch_build=x86_64
os=Macos
arch=x86_64
compiler=clang
compiler.version=3.5
compiler.libcxx=libstdc++11
build_type=Release


[options]
#MyLib:shared=True
*:shared=True

[env]
#env_var=value
CC=/usr/bin/clang
CXX=/usr/bin/clang++

[build_requires]
#tool/version@user/channel
Tool2/0.1@user/channel, Tool3/0.1@user/channel
*: Tool4/0.1@user/channel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值