sudo pip install conan conan profile detect --force
生成的默认配置文件在 ~/.conan2/profiles/default ''
* 更新<code bash>sudo pip install conan –upgrade</code>
* 二进制包管理私有仓创建:
* https://docs.conan.io/2/tutorial/conan_repositories/setting_up_conan_remotes.html
* https://docs.conan.io/2/tutorial/conan_repositories/setting_up_conan_remotes/artifactory/artifactory_ce_cpp.html
==== Conan 1 笔记 ====
* 结合 JFrog 可构建私有C/C++二进制包管理
* 私有仓创建下载 https://conan.io/downloads.html
* https://docs.conan.io/en/latest/uploading_packages/artifactory/artifactory_ce.html
* conan 的cmake 变量表
* 关于打包understand_packaging
* 添加 bincrafter 仓:https://bincrafters.readthedocs.io/en/latest/using_packages.html#adding-the-bincrafters-repository-as-a-conan-remote
* 调整仓库顺序:<code bash>
conan remote clean
conan remote add myconan <your private conan artifactory url>
conan remote add bincrafters https://bincrafters.jfrog.io/artifactory/api/conan/public-conan
conan remote add conancenter https://center.conan.io
# conan remote add conan-center https://conan.bintray.com # 此仓库已被官方废弃
</code>
* 更新conan: <code bash>pip install conan –upgrade # Might need sudo or –user</code>
* vscode 整合 conan 头文件:在 ''c/c++ 插件设置里 includePath 添加 ~/.conan/data/**
android-ndk包作为 tool_requires, 比如编译 armv8:include(default) [settings] arch=armv8 build_type=Release compiler=clang compiler.libcxx=libc++ compiler.version=11 os=Android os.api_level=21 [tool_requires] android-ndk/r22b [options] [env]
然后install 或 create 时指定跨平台编译
conan install .. --build=missing -pr:h android-armv8 -pr:b default
ANDROID_ABI ANDROID_PLATFORM 才能正确编译出目标版本。 而 conan 并没有办法在 profile 里直接设置这两个 cmake 变量, 所以就算你的工程的 CMakefile.txt 设置了这两变量,你的依赖包在cmake building 时也会默认选择了错误的arch。