您好,登录后才能下订单哦!
今天将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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。