如何告诉Android Studio将GCC 4.9与CMake一起使用?

时间:2016-10-25 14:45:11

标签: android c++ gradle android-ndk cmake

我在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工具链?

2 个答案:

答案 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