創建項目後NDK編譯警告當作錯誤處理的解決方案

http://blog.k-res.net/archives/1505.html

問題爲編譯cocos2d-x創建的android項目時,原生代碼部分編譯腳本build_native.sh觸發的NDK編譯警告被當作錯誤處理,項目實際編譯生成成功了但是Eclipse不能運行!

開發環境:

Mac OSX ML 10.8.3

Android Developer Tools Build: v21.1.0-569685 (developer.android.com下載的整合ADT SDK的Eclipse)

android-ndk-r8e 64bit

cocos2d-2.1rc0-x-2.1.2-hotfix


通過cocos2d-x自帶的create-android-project.sh腳本生成項目後Eclipse使用導入已存在項目(不拷貝到工作目錄)後編譯,發現自動生成的Hello World項目模板並未添加Native支持,於是右鍵項目Android Tools-》添加原生支持,之後項目加入了CDT部分內容,然後按照之前導入過的TestCpp示例項目,設置C/C++ Build參數,這裏還遇到一個小問題,就是示例項目寫的是bash ${ProjDirPath}/build_native.sh這樣,而如果我在新建的項目中照抄這個命令行的話,會出現bash命令前被自動加入了NDK目錄,然後導致找不到bash執行失敗,我的解決方法是直接寫入絕對路徑/bin/bash!再有就是如果提示NDK_ROOT未定義的話,而又不想修改~/.bash_profile,那麼可以在C/C++ Build->Enviroment中加入NDK_ROOT環境變量定義解決。

都設置好後,NDK成功開始編譯,然後就會出現

android-ndk-r8e/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml

這樣的提示,並被作爲Errors列在了Eclipse的錯誤列表裏,最終導致雖然成功生成了libgame.so但項目卻不能運行!解決方法是在Eclipse偏好設置-> C/C++ -> Build -> Settings的Error Parsers的CDT GNU C/C++ Error Parser中加入一條新的Pattern並作爲警告處理:

Severity: Warning
Pattern: (.*?):(\d+): Android NDK: WARNING:(.*)
File: $1
Line: $2
Description: $3

並且一定要注意新加入的這條要Move Up到一定的高度,從而提高優先級纔可以,修改後重新編譯項目Warning被正確的當作Warning處理且不會影響項目運行了。

===========

補充,eclipse要退出後重新進才行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章