conan官网:https://conan.io/index.html
conan类似于gradle,maven可以对C++的工程依赖管理,跨平台,并且支持cmake和visual studio,所以对于C++工程的组件化来说就是福音
conan是一个客户端,可以像maven一样用一个配置文件来管理C++工程之前的依赖关系,conan可以用来生成,解释,管理这个配置文件。对于自己的项目组件需要自己去配置依赖关系。conan可以通过这个配置文件进行编译,打包,上传到仓库的操作。
conan对依赖的管理依赖于一个固定的配置文件: conanfile.py,类似于Gradle和maven也需要一个对应的配置文件
一个新工程需要加入conan的管理,要有以下步骤:
创建组件:
- conan new Hello/0.1 -t 创建一个demo版本的conanfile.py,这个配置文件已经包含了所需要配置的所有信息,只需要改动为自己需要的就可以了,配置具体详情后面再分析,这个配置文件最好生成在工程目录下,方便自己配置路径信息。
- conan create . demo/test -s compiler.version="15" 根据conanfile.py配置的信息进行编译打包操作
- conan upload Hello/0.1@demo/testing --all -r=localconan 上传conan打包好的组件
安装已有组件
- conan install Hello/0.1@demo/testing -s compiler.version="15" 安装组件。官方建议方案是使用conanfile.txt文件来描述,可以提供更灵活和强大的依赖安装功能。
上面就是常用到的方法。
conan可以指定本地生成环境,cmake就可以生成cmake文件表述下载的依赖,指定visual_studio就可以生成VS需要的依赖属性配置,对各种C++开发环境非常友好。
关于conan用法可以参考一篇非常好的文章:http://blog.guorongfei.com/2018/04/23/conan-tutorial/