查看和设置ndk使用的gcc版本

项目使用的一个开源库更新后,发现在android平台编译出错了,因为他使用了c++11的auto特性,编译器尚未支持。

因为gcc4.8.1已经完全实现了c++11的特性,所以我需要看一下我使用的ndk支持哪些toolchain。

我使用的是ndk r8e (也是目前-2013.6月-的最新版),看一下他的toolchains目录,支持到了gcc4.7。根据他的文档,默认是使用了gcc4.6。

设置toolchain的方法是在Application.mk中设置:

NDK_TOOLCHAIN_VERSION = 4.7


为了确认是否设置成功,在ndk-build调用时增加参数V=1。即 ndk-build V=1 ..其他参数..


结果会显示:/Developer/sdks/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -MMD -MP -MF ....

所以可以看到设置成功了。


遗憾的是,gcc4.7仍然不支持auto:'o' does not name a type  (源码里的写法是:auto o = xxxxxx)


而我已经使用了最新的ndk了,只能等ndk升级到gcc4.8.1的toolchian了,或者自己去做一个,不过可花不起这个时间

你可能感兴趣的:(查看和设置ndk使用的gcc版本)