1. 远程库 conan remote -h list List current remotes#查看所有远程库 add Add a remote#添加一个远程库 remove Remove a remote#删除一个远程库 update Update the remote url# 更新远程库的url rename Update the remote name# 更新远程库的名称 1.1 查看所有远程库 conan remote list # conancenter: https://center.conan.io [Verify SSL: True] 1.2 添加远程库 conan remote add 远程仓库名 远程仓库url conan remote add factory http://192.168.3.234:8081/artifactory/api/conan/conan 1.3 删除远程库 conan remote add 远程仓库名 conan remote remove factory http://192.168.3.234:8081/artifactory/api/conan/conan 1.4 更改远程仓库 更改远程仓库的url: conan remote update factory 远程仓库名 远程仓库url 更新远程库的名称: conan remote rename 远程仓库old名 远程仓库new名 #更改远程仓库的url: conan remote update factory http://192.168.3.234:8081/artifactory/api/conan/conan conan remote rename factory factory1 1.5 推送到远程库 conan upload 包名/版本@用户/渠道 --all -r=远程仓库名 conan upload hello/0.1@demo/testing --all -r my_local_server 1.6 搜索远程库中的包 conan search glog --r 远程仓库名 conan search glog --r conancenter # 搜索conan-center中的glogo包 2. 本地库 包的结构包括:包名/版本@用户/渠道 2.1 搜索包 #列出本地库中所有包 conan search * #列出指定远程库中的所有包 conan search "*" --remote=conancenter #在指定的远程库中搜索指定包 conan search poco --remote=conancenter 2.2 查看包的详细信息 conan inspect 包名/版本 conan inspect poco/1.9.4 2.3 下载包到本地库 conan install glog/0.4.0@bincrafters/stable -r conancenter # 通过本地文件中的conanfile.txt生成包,并安装所需的依赖 conan install .. 2.4 删除本地库中的包 conan remove glog/0.4.0@bincrafters/stable 3. 使用conan管理项目包依赖 3.1 创建conanfile.txt 默认是使用静态库方式引入第三方库 [requires] glog/0.4.0@bincrafters/stable [generators] cmake 使用动态库方式引入第三方库 [options] *:shared=True # 使用动态库形式 [imports] bin, *.dll -> ./bin # Copies all dll files from packages bin folder to my "bin" folder lib, *.dylib* -> ./bin # Copies all dylib files from packages lib folder to my "bin" folder 然后执行: 通过conanfile.txt从远端仓库下载所需要的依赖包 -s build_type=Debug 可以使用一下形式,来覆盖默认的配置文件同3.5 debug_shared include(default) [settings] build_type=Debug [options] poco:shared=True poco:enable_apacheconnector=False openssl:shared=True conan install .. -pr=debug_shared conan install . # --install-folder指定安装包的位置 conan install . --install-folder=md5_build 3.3 查看本地conanfile.txt文件中的依赖 conan info . 3.4 通过cmake生成项目文件 C:\install\CMake\bin\cmake.EXE --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -Sd:/User/Desktop/conanproject -Bd:/User/Desktop/conanproject/build -G "Visual Studio 16 2019" -T host=x64 -A x64 3.5 编译项目文件生成可执行文件 如果出现:error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项 可能就需要修改:“C:\Users\15282.conan\profiles\default” build_type=Debug(默认为Release) 或者直接修改cmake的编译选项为Release C:\install\CMake\bin\cmake.EXE --build d:/User/Desktop/conanproject/build --config Debug --target md5 -j 18 -- 4. 创建一个新的Package 4.1 使用conan new创建一个信息包 会生成以下文件: conanfile.py:在根文件夹上,有一个 conanfile.py 它是主配方文件,负责定义如何构建和使用包。 CMakeLists.txt:一个简单的通用CMakeLists.txt,里面没有任何关于柯南的具体内容。 src 文件夹:包含简单C++"hello"库的 src 文件夹。 (可选)test_package文件夹:包含一个示例应用程序,该应用程序将需要并与创建的包链接。这不是强制性的,但检查我们的软件包是否正确创建是很有用的。 conan new hello/0.1 --template=cmake_lib 4.1.1 conanfile.py的包装配方 settings是项目范围的配置,不能在配方(如操作系统或体系结构)中默认。 options是特定于包的配置,可以在配方中默认,在这种情况下,我们可以选择将包创建为共享或静态库,默认为静态。
4.1.2 config_options() 通过判断不同的系统或者编译器之类的,用于微调option. 4.1.3 generate() 执行将创建一个映射 Conan 和 CMake 语法的 conan_toolchain.cmake 文件 4.1.4 build() 调用cmake的 configure和build 4.1.5 package() 该方法将项目(标头、库)从生成文件夹复制到最终的包文件夹。可以说会用copy,也可以使用cmake的install 4.1.6 package_info() 该方法定义了使用者在使用此包时必须链接到"hello"库。也可以定义包含或 lib 路径等其他信息. 4.1.7 source() 用于通过git获取github仓库的源代码文件 def source(self): git = tools.Git(folder="hello") git.clone("https://github.com/conan-io/hello.git", "master") 4.2 test_package目录 测试是"包"测试,并验证包是否已正确创建,以及包使用者将能够链接到它并重用它 4.3 创建并测试包 -o hello:shared=True -s build_type=Debug conan create和conan install的命令相同 conan create . 用户/渠道 conan create . demo/testing
标签:remote,--,conan,build,install,使用,远程 From: https://www.cnblogs.com/lovebay/p/18373389