【发布时间】:2016-01-14 11:35:29
【问题描述】:
我正在尝试编译一个 C++ 库以将其与 Android 应用程序一起使用。我正在使用 CMake 生成 makefile,但是当我配置 CMake 脚本时,配置将“mips64el”作为编译参考(CMAKE_AR、CMAKE_ASM_COMPILER、CMAKE_C_COMPILER 等)。此编译器与makefile中生成的标志不兼容,因此构建过程失败。
最奇怪的是,在第二台PC上,同样的配置定义了“arm-linux”作为编译参考。
作为补充说明,我在两台电脑上都使用 Ubuntu 14.04。我将“armeabi-v7a”定义为 Android ABI,并将 Android API 级别定义为 9。此外,我在环境变量(作为 ANDROID_NDK 和 PATH 变量)中包含了 NDK 库 (android-ndk-r10c) 的路径.
有什么建议吗?
【问题讨论】:
-
可以设置
arch和CMAKE_x_COMPILER_TARGET。 -
我尝试定义CMAKE_CXX_COMPILER_TARGET = arm-linux-androideabi,类似于“cmake.org/cmake/help/v3.0/manual/cmake-toolchains.7.html”中的解释,但没有任何改变。
-
你的电脑里有什么 ndk 可以工作?我建议您下载最后一个以避免这种配置,有时 64 位会失败。我将使用: android-ndk-r10e-linux-x86_64.bin 。 API 9 太旧了,如果该 NDK 修订失败,请尝试使用 API 14。
-
我已经用那个确切的版本进行了测试,我也尝试了 api 21。我昨天才下载了“android-ndk-r10e-linux-x86_64.bin”。
标签: android android-ndk cmake