我在Android Studio 2.2上使用NDK r12。我需要CMake使用GCC 4.9而不是Clang来构建我们的代码库,但是即使我提供以下内容它仍然使用clang:
android {
compileSdkVersion 17
buildToolsVersion "25.0.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 17
externalNativeBuild {
cmake {
arguments '-DBUILD_TESTING=OFF -DANDROID_TOOLCHAIN=gcc-4.9'
cppFlags "-std=c++14 -fexceptions -frtti"
}
}
}
}
我也试过-DANDROID_TOOLCHAIN=gcc
,但这也不起作用。如何让CMake使用GCC ARM工具链?
答案 0 :(得分:6)
将每个参数的arguments
字符串拆分为一个字符串:
arguments '-DBUILD_TESTING=OFF','-DANDROID_TOOLCHAIN=gcc'
我不知道是否可以明确指定GCC的4.9版(“gcc-4.9”不起作用)。然而,这仍然是多余的,因为在NDK r11中删除了GCC 4.8,因此GCC 4.9现在是NDK中包含的唯一GCC版本,因此ANDROID_TOOLCHAIN=gcc
隐含地意味着GCC 4.9。
答案 1 :(得分:0)
现在看来已经不可能了,GCC的工具维护已被删除。
尝试设置ANDROID_TOOLCHAIN=gcc
时出现此错误:
在D:/Android/ndk-bundle/build/cmake/android.toolchain.cmake:169(消息)的CMake错误: 不再支持GCC。看到 https://android.googlesource.com/platform/ndk/+/master/docs/ClangMigration.md