【问题标题】:Is there a way to let Android NDK-build use a newer version of gcc?有没有办法让 Android NDK-build 使用更新版本的 gcc?
【发布时间】:2011-04-26 06:16:25
【问题描述】:

我安装的是Android NDK r5b Windows版本,我使用cygwin编译C代码。

我看到 NDK-build 实际上正在调用 C:\android-ndk-r5b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc-4.4.3 进行编译。我想知道有没有办法让 NDK-build 使用更新版本的 gcc?

我想这样做的原因是:

Gcc4.4.3 在为某些 NEON 内部函数生成非最佳汇编代码时存在已知错误
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43118
http://hilbert-space.de/?p=22

新发布的 GCC 4.6 声称它对 ARM 和内在函数进行了一些改进。所以我想尝试让 NDK-build 使用 GCC4.6。

【问题讨论】:

    标签: android gcc build android-ndk


    【解决方案1】:

    我相信这个 NDK 文档会回答您的问题:docs/STANDALONE-TOOLCHAIN.html。在我看来,你知道你在做什么,所以只要注意警告和快乐的黑客攻击。我相信第 3 节“调用编译器(简单的方法)”是您正在寻找的内容。

    【讨论】:

      【解决方案2】:

      还有一个替代的 NDK 版本:http://www.crystax.net/en/android/ndk/7

      它包括 gcc 4.6.3。

      【讨论】:

        【解决方案3】:

        在尝试自己回答这个问题时,我遇到了这个问题,这是一个使用 GCC 4.6 成功构建工具链的人的逐步说明:http://glandium.org/blog/?p=2146

        【讨论】:

          【解决方案4】:

          Android NDK 8b 发布,将 GCC 4.6 作为默认工具链。

          http://developer.android.com/tools/sdk/ndk/index.html

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-08-06
            • 2013-12-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-03
            • 2014-11-06
            相关资源
            最近更新 更多