首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么android独立工具链不支持api 19而android cmake支持arm64?

为什么android独立工具链不支持api 19而android cmake支持arm64?
EN

Stack Overflow用户
提问于 2018-04-08 03:39:29
回答 1查看 2.1K关注 0票数 6

我以前构建了api级19的arm64-v8alib,使用android.toolchain.cmake随Android r16b,如下所示。

代码语言:javascript
复制
${CMAKE} \
        -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE}                    \
        -DANDROID_NDK=$ANDROID_NDK_HOME                             \
        -DANDROID_ABI="arm64-v8a"                                   \
        -DANDROID_NATIVE_API_LEVEL="android-19"                     \
        -DANDROID_STL="c++_shared"                                  \
        -DANDROID_CPP_FEATURES="rtti exceptions"                    \
        ..

现在,我想打包我的lib,使用conan,它交叉编译android,使用独立的工具链。使用--arch arm64--api 19构建独立的工具链似乎是不可能的,因为以下命令

代码语言:javascript
复制
./make_standalone_toolchain.py --arch=arm64 --api=19 --stl=libc++ --install-dir=./test

将失败的错误消息:

19小于arm64的最低平台(21)

有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-14 20:14:40

因为没有API 19 ARM64这样的东西。在android-21中增加了64位支持。

CMake支持这一点,因为我们的工具链文件是根据当时常用的一个流行选项建模的,它就是这样做的。ndk-构建是因为在一次调用中构建了多个ABI。在这两种情况下,构建都会自动将64位目标的API级别提高到21。

独立工具链恰好适用于一种体系结构,因此如果您指定了一个API级别,而该体系结构不支持该级别,则会出现错误,因为这可能是一个错误。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49714180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档