我安装了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。
答案 0 :(得分:3)
我相信您的问题将通过此NDK文档得到解答:docs/STANDALONE-TOOLCHAIN.html。这听起来像你知道你在做什么,所以只要注意警告和快乐的黑客行为。我相信你正在寻找第3节“调用编译器(简单方法)”。
答案 1 :(得分:1)
还有另一种NDK构建:http://www.crystax.net/en/android/ndk/7
它包括gcc 4.6.3。
答案 2 :(得分:0)
在尝试自己回答这个问题时,我偶然发现了这个问题,这是一个用GCC 4.6成功构建工具链的人的逐步说明:http://glandium.org/blog/?p=2146。
答案 3 :(得分:0)
Android NDK 8b发布,以GCC 4.6为默认工具链。