两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
public:it:cplusplus:conan [2022/03/25 08:52] – oakfire | public:it:cplusplus:conan [2023/07/26 11:15] (当前版本) – [Conan] oakfire |
---|
====== Conan ====== | ====== Conan ====== |
* [[https://conan.io/|conan.io]] - the C/C++ Package Manager, | * [[https://conan.io/|conan.io]] - the C/C++ Package Manager, |
| * 仓库:https://conan.io/center/ |
* 结合 [[https://jfrog.com/|JFrog]] 可构建私有C/C++二进制包管理 | * 结合 [[https://jfrog.com/|JFrog]] 可构建私有C/C++二进制包管理 |
* 私有仓创建下载 [[https://conan.io/downloads.html]] | * 私有仓创建下载 [[https://conan.io/downloads.html]] |
conan remote add bincrafters https://bincrafters.jfrog.io/artifactory/api/conan/public-conan | conan remote add bincrafters https://bincrafters.jfrog.io/artifactory/api/conan/public-conan |
conan remote add conancenter https://center.conan.io | conan remote add conancenter https://center.conan.io |
conan remote add conan-center https://conan.bintray.com | # conan remote add conan-center https://conan.bintray.com # 此仓库已被官方废弃 |
</code> | </code> |
* 更新conan: <code bash>pip install conan --upgrade # Might need sudo or --user</code> | * 更新conan: <code bash>pip install conan --upgrade # Might need sudo or --user</code> |
[options] | [options] |
[env]</code> 然后install 或 create 时指定跨平台编译 <code bash>conan install .. --build=missing -pr:h android-armv8 -pr:b default</code> | [env]</code> 然后install 或 create 时指定跨平台编译 <code bash>conan install .. --build=missing -pr:h android-armv8 -pr:b default</code> |
* [[https://docs.conan.io/en/latest/systems_cross_building/cross_building.html|这个链接里android 示例]] 错误的原因是, Android 与 CMake 结合时, CMake 除了指定 android.toolchain.cmake, 还需要额外[[https://developer.android.com/ndk/guides/cmake#variables|指定变量]] ''ANDROID_ABI'' ''ANDROID_PLATFORM'' 才能正确编译出目标版本。 而 conan 并没有办法再 profile 里设置这两个cmake变量, 所以就算你的工程的 CMakefile.txt 设置了这两变量,你的依赖包在cmake building 时也会默认选择了错误的arch。 | * [[https://docs.conan.io/en/latest/systems_cross_building/cross_building.html|这个链接里android 示例]] 错误的原因是, Android 与 CMake 结合时, CMake 除了指定 android.toolchain.cmake, 还需要额外[[https://developer.android.com/ndk/guides/cmake#variables|指定变量]] ''ANDROID_ABI'' ''ANDROID_PLATFORM'' 才能正确编译出目标版本。 而 conan 并[[https://docs.conan.io/en/latest/reference/env_vars.html|没有办法在 profile 里直接设置]]这两个 cmake 变量, 所以就算你的工程的 CMakefile.txt 设置了这两变量,你的依赖包在cmake building 时也会默认选择了错误的arch。 |