1. 程式人生 > >檢視和設定ndk使用的gcc版本

檢視和設定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了,或者自己去做一個,不過可花不起這個時間