c++包管理工具conan

Conan is a portable package manager, intended for C and C++ developers, but it is able to manage builds from source, dependencies, and precompiled binaries for any language.
Conan是一个跨平台的包管理工具,面向c和c++开发者,但是他能够从源码,依赖和预编译二进制包。
 
biicode 因为2015年因为经营原因关闭了,Conan就成为接班人,项目截至2017年3月仍然非常活跃。
 
官方网站:
https://www.conan.io/
 
作者:骆铮
链接:https://www.zhihu.com/question/47298264/answer/105388121
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

之前在管理依赖的时候尝试过,大概说说第一印象:
  • 自身安装包:全平台覆盖,有完善的binary这很方便。但是基于Python可能在一些场合会带来麻烦,更倾向于搞出一个bulkcompile的.cpp,这样可以无痛切换到conan而不会因为自身而带来额外的依赖,毕竟不是所有项目都希望引入Py。
  • 是采用Binary还是Source是每个包管理都会遇到的问题,binary需要维护,source对于Cpp来说编译速度太慢。目前Conan貌似是对大包提供了Binary,找不到时会fallback到Source上去,看起来是一个比较好的解决方案。但是不知道二进制兼容性(RTTI、cxxabi)这类的做得怎么样(更新:看C/C++ Open Source Package Manager ,大概对每个编译器大版本都提供了Release和Debug两个二进制版本,这样解决了abi问题,但RTTI估计是没戏了)。不过好在可以自己架服务器提供包。
  • 目前的官方包还是太少,像leveldb之类的都找不到
  • CMake集成做的不错
依赖管理其实本身就是一个矛盾体,如下表
<img src="https://i-blog.csdnimg.cn/blog_migrate/e9ec6de868de81d06a25171566d42690.png" data-rawwidth="720" data-rawheight="311" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/7a08782d5cce9862aef7ca76f7132ef2_r.png">

转载于:https://www.cnblogs.com/jiftle/p/6525293.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值