重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天将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 就可以了。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。