您好,登錄后才能下訂單哦!
今天將cocos2d-x(2.1.3版)項目向android平臺移植。因為恢復了下系統,重新配置了下環境變量。
1.先是Cygwin(2.819版)的安裝。頭疼了一把。大概裝了好幾次(我是之前有裝過,保存了下載文件)。裝到最后快結束時,突然報了個error。"Package: libpango1.0_0 pango1.0.sh exit code 1",還以為是少文件的問題。這樣反復的試了幾次。好痛苦,問題依然在。沒辦法。google了下,發現有論壇有人提過這個問題。
http://cygwin.com/ml/cygwin/2013-02/msg00196.html
大概意思是:在執行 /etc/postinstall/pango1.0.sh 時 要往/etc/pango 拷貝 pango.modules文件,卻發現沒有 pango 這個文件夾。報錯。
于是,手動創建這個文件夾。回到安裝向導的前一步。重新選了下,next。一路OK(好像是先unstall再install)。
然后配了下
移植時要用到。
2.*** Android NDK: Aborting 。 停止。
...
Android NDK: ERROR:/cygdrive/e/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../cocos2dx/platform/third_party/android/prebuilt/libjpeg/Android.mk:cocos_jpeg_static: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that /cygdrive/e/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../cocos2dx/platform/third_party/android/prebuilt/libjpeg/libs/armeabi/libjpeg.a exists or that its path is correct
make: 進入目錄“/cygdrive/e/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android”
/cygdrive/e/android/android-ndk-windows/android-ndk-r9/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting 。 停止。
make: 離開目錄“/cygdrive/e/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android”
這個是少文件。不過我從官網下的cocos2d-2.1rc0-x-2.1.3。然后build-win32.bat安裝。都很順利。最后發現時是 cocos2dx\platform\third_party 下少各個平臺的第三方庫文件。發現 CocosDenshion\third_party 也是少庫文件。不知道為什么沒解壓出來。不過cocos2d-2.1rc0-x-2.1.3的壓縮文件中是有這些庫文件的。也不管了,解壓出來覆蓋過去就沒有問題了。
3.編譯 CCCommon.cpp 文件時報錯。
Compile++ thumb : cocos2dx_static <= CCCommon.cpp
E:/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../cocos2dx/platform/android/CCCommon.cpp: In function 'void cocos2d::CCLog(char const*, ...)':
E:/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../cocos2dx/platform/android/CCCommon.cpp:44:72: error: format not a string literal and no format arguments [-Werror=format-security]
E:/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../cocos2dx/platform/android/CCCommon.cpp: In function 'void cocos2d::CCLuaLog(char const*)':
E:/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android/../../cocos2dx/platform/android/CCCommon.cpp:54:77: error: format not a string literal and no format arguments [-Werror=format-security]
cc1plus.exe: some warnings being treated as errors
/cygdrive/e/android/android-ndk-windows/android-ndk-r9/build/core/build-binary.mk:348: recipe for target `obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o' failed
make: *** [obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o] Error 1
make: 離開目錄“/cygdrive/e/cocos2d-x/code/cocos2d-2.1rc0-x-2.1.3/HelloTest1/proj.android”
google了下 國外論壇有人也出現了這樣的問題。
因為我的ndk是r9,有人建議換回r8,我沒試。最后發現有人這樣解決。
修改你自己項目 proj.android\jni\Application.mk 文件,在最后加上
APP_CPPFLAGS += -Wno-error=format-security 就可以了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。