conan的安装、使用、创建包、上传包等一系列操作

本文详细介绍了使用Conan进行库管理的全过程,包括安装、配置、创建和上传包的步骤。作者分享了在学习Conan过程中遇到的问题及解决方法,如配置环境变量、设置远程仓库、添加账号密码等,并列举了各种平台和编译器的选项参数。此外,还提及了使用option功能以及包的安装方法,为读者提供了宝贵的实践经验。
摘要由CSDN通过智能技术生成

在实习公司,使用conan来管理一些链接库,刚来公司我有点蒙,5天时间就学conan了,现总结一下,因为conan真的不是那么的好用,加上可参考资料很少,大概把我遇到的问题总结一下。

conan是包管理工具,怎么理解呢,就比如你要libevent网络库,他再有其他其他依赖,就给一个库一个库的装,而使用conan你用那个库,依赖的库也都帮你下载好了。conan是用python写的,所以一定要有python运行环境了,conan官方文档,python的运行环境最好大于等于3.4。我用的是1.33版本的conan

安装

装好python环境之后,一般安装python都自带pip了

pip install conan 就能把他安装下来了,可以用conan --version来验证一下是否安装成功。在安装的时候我遇到了一个问题,找不到conan这个命令,是因为pip安装的时候没把他加载到环境变量当中去,在搜索框搜索conan.exe将他所在的位置加到环境变量中即可!
在这里插入图片描述

更改默认的配置项

在这里插入图片描述

添加新的连接

看一下都有那些远程仓库

conan remote list

在这里插入图片描述
你要连接公司的仓库必须要给他定义个名字,不能拿网址直接连接,下面的conan-com就是别名。

conan remote add conan-com https://jfrog.XXXXXX./

网址是这个网址,我网址还配错了,还以为是jforg上面的网址,其实不然是箭头所指这个的网址。
在这里插入图片描述

添加账号和密码

密码和账号填公司给你的只需要改动这两个,conan-com就是上述所说的别名

conan user -p 密码 -r conan-com 账号

创建一个包

包的格式如下

包名/版本号@用户/目录

首先介绍一下官方文档的创建过程把

new 一个新包出来,这个为啥没遵守格式呢?问的好我也不晓得

conan new hello/0.1 -t 

在这里插入图片描述
根据创建的py文件,拉取py中的git网址的代码就可以输出一个Hello World

conan create . demo/testing

在这里插入图片描述

创建一个能够上传服务器的包

我也不一定很正确的表述出来他的真实意思,但是我通过这些办法实践出来了

后面加个- -bare(是合并的,为了显示出来中间打了个空格),比如你在test这个文件夹下面点个git,写了如下的操作,当你上传到本地的时候,test目录里的东西都会跟着一起上传的,不加–bare则不会把文件夹的东西上传,我也觉得很神奇。

conan new boost/1.70@用户/channel --bare

这样就可以上传到本地啦。注意os、compiler.version、arch这三个参数,-f是强制覆盖本地的缓存

conan export-pkg . boost/1.70@thirdparty/jenkins  -s os=Windows  -s compiler.version=10 -s arch=x86_64 -f

os的参数有
[‘AIX’, ‘Android’, ‘Arduino’, ‘Emscripten’, ‘FreeBSD’, ‘Linux’, ‘Macos’, ‘Neutrino’, ‘SunOS’, ‘Windows’, ‘WindowsCE’, ‘WindowsStore’, ‘iOS’, ‘tvOS’, ‘watchOS’]
在这里插入图片描述

compiler可以设置的东西
[‘Visual Studio’, ‘apple-clang’, ‘clang’, ‘gcc’, ‘intel’, ‘qcc’, ‘sun-cc’]

compiler.version的参数有,这是在Visual Studio的版本下
[‘10’, ‘11’, ‘12’, ‘14’, ‘15’, ‘16’, ‘8’, ‘9’]

compiler=gcc 的时候compiler.version是下面的
[‘10’, ‘10.1’, ‘4.1’, ‘4.4’, ‘4.5’, ‘4.6’, ‘4.7’, ‘4.8’, ‘4.9’, ‘5’, ‘5.1’, ‘5.2’, ‘5.3’, ‘5.4’, ‘5.5’, ‘6’, ‘6.1’, ‘6.2’, ‘6.3’, ‘6.4’, ‘6.5’, ‘7’, ‘7.1’, ‘7.2’, ‘7.3’, ‘7.4’, ‘7.5’, ‘8’, ‘8.1’, ‘8.2’, ‘8.3’, ‘8.4’, ‘9’, ‘9.1’, ‘9.2’, ‘9.3’]

arch有的参数
[‘armv4’, ‘armv4i’, ‘armv5el’, ‘armv5hf’, ‘armv6’, ‘armv7’, ‘armv7hf’, ‘armv7k’, ‘armv7s’, ‘armv8’, ‘armv8.3’, ‘armv8_32’,
‘asm.js’, ‘avr’, ‘mips’, ‘mips64’, ‘ppc32’, ‘ppc32be’, ‘ppc64’, ‘ppc64le’, ‘s390’, ‘s390x’, ‘sh4le’, ‘sparc’, ‘sparcv9’, ‘wasm’,
‘x86’, ‘x86_64’]

默认是release版本的可以设置 -s build_type这一参数
[‘Debug’, ‘MinSizeRel’, ‘None’, ‘RelWithDebInfo’, ‘Release’]

至此我们的包以及创建到本地了,等待着上传

上传

找一个能够上传服务器账号的,在执行一遍,账号就能变更成功了

conan user -p 密码 -r conan-com 账号

把刚才创建的包就可以上传过去了

conan upload boost/1.70@用户名/channel  -r=conan-com --all

在jfrog上可以清楚的看到有这个包了
在这里插入图片描述
总结一下上传包的步骤

conan new boost/1.70@用户/channel --bare
conan export-pkg . boost/1.70@thirdparty/jenkins  -s os=Windows  
s compiler.version=10 -s arch=x86_64 -f
conan user -p 密码 -r conan-com 账号
conan upload boost/1.70@用户名/channel  -r=conan-com --all

安装一个包就很简单了

conan install conanfile_config_x86_vs2010.txt -r=xxx -s arch=x86 -s arch_build=x86
这样就OK啦。信息一定要都对应准确(包名/版本号@用户/目录),如果不正确,哈希值会不一样,导致远程仓库的文件拉不下来。如果对应文件没拉下来,仔细检查一下是否都写正确了。别忘了再写一个conanfile_config_x86_vs2010.txt文件,随便取名就行。包名/版本号@用户/目录,我们公司的用户直接就是文件名了,我觉得挺合理的了。imports是放在那个目录下
在这里插入图片描述

[requires]
boost/1.70@XXX/XXXX
openssl/1.0.1@XXX/XXXX
zlib/1.2.11@XXX/XXXX

[imports]
., * -> ..\3rdparty\precompiled\windows-x86

option的使用,官方的文档

options的官方文档
在这里插入图片描述
下面是我的个人的用法,打包到jfrog上一个库例如boost库,底下有两个文件夹lib库和dll库,加上@ folder=True就代表zlib的lib放在zlib文件夹下面去,openssl的lib库放到openssl文件夹下,会自动帮你创建好文件夹的。 @ root_package=zlib相当于指定拉下来的XXX库放在XXX的位置上

lib, *.lib -> ..\3rdparty\precompiled\windows-x86 @ folder=True
dll, *dll -> ..\3rdparty\precompiled\windows-x86\dll
lib, *.lib -> ..\3rdparty\precompiled\windows-x86 @ root_package=zlib
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值