目标x86_64的NDK构建导致错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了目标x86_64的NDK构建导致错误相关的知识,希望对你有一定的参考价值。

我已将NDK构建Application.mk设置为针对目标x86_64进行构建,APP_ABI配置如下APP_ABI:= x86_64

当我用这个运行NDK构建时,我得到的错误如下:android NDK:NDK应用程序'本地'目标未知ABI(s):x86_64 Android NDK:请在Application.mk中定义APP_ABI

我在Linux x86_64机器上运行构建。有关修复此问题的建议吗?我是否需要进行一些设置/配置NDK来为x86_64进行构建。

答案

CPU-X86-64 doc

您的设置为x86-64。减,不是下划线。

请注意,您需要从git中提取此TBD版本,截至今天7月2日发布的版本仍然是r9d,没有64位支持。

更新2014/07/18

现在NDK r10已经用完,支持的目标是:

APP_ABI=all32 is equivalent to APP_ABI=armeabi,armeabi-v7a,x86,mips.
APP_ABI=all64 is equivalent to APP_ABI=arm64-v8a,x86_64,mips64.

您应该指定API级别L.您必须从http://developer.android.com/tools/sdk/ndk/index.html下载相关的NDK版本。

另一答案

您正在使用的平台不支持该目标,您必须更改您的APP_PLATFORM(最低为android-21支持64位)或删除不支持的ABI。例如:

APP_ABI := armeabi armeabi-v7a mips  x86 
APP_PLATFORM := android-14

要么

APP_ABI := armeabi armeabi-v7a mips  x86 arm64-v8a x86_64 mips64
APP_PLATFORM := android-21

以上是关于目标x86_64的NDK构建导致错误的主要内容,如果未能解决你的问题,请参考以下文章

conan入门(十七):支持android NDK (armv7,armv8,x86,x86_64)交叉编译的统一profile jinja2模板

链接器错误:ld:未找到架构 x86_64 的符号

Android 安装包优化动态库打包配置 ( “armeabi-v7a“, “arm64-v8a“, “x86“, “x86_64“ APK 打包 CPU 指令集配置 | NDK 完整配置参考 )(代

我的Android进阶之旅解决NDK开发编译错误: ABIs [x86-64] are not supported for platform.

我的Android进阶之旅解决NDK开发编译错误: ABIs [x86-64] are not supported for platform.

尝试为 arm64 构建 apk 时出现链接器错误