cocos2d-x-2.1.4:错误:格式不是字符串文字而没有格式参数[-Werror = format-security]

Hak*_*ton 12 android cocos2d-iphone android-ndk cocos2d-x

我正在开发一个关于cocos2d-x-2.1.4的游戏,然而,当我尝试在Android上构建它时,它失败并出现错误:格式不是字符串文字而且没有格式参数[-Werror = format-security] on文件CCCommon.cpp

但是,当我检查进攻线时,它完全没问题.当我使用Visual Studio和XCode为WIN32和iOS构建时,该文件也构建得很好并且总是很好.

错误日志如下:

C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp: In function 'void cocos2d::CCLog(char const*, ...)':
/cygdrive/c/eclipse/android-ndk-r9/build/core/build-binary.mk:348: recipe for target `obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o' failed
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp:44:72: error: format not a string literal and no format arguments [-Werror=format-security]
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp: In function 'void cocos2d::CCLuaLog(char const*)':
make: Leaving directory `/cygdrive/c/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android'
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/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
Run Code Online (Sandbox Code Playgroud)

Zen*_*aro 23

请注意,cocos2d-x-2.1.4可能与ndk-r9不兼容,你试试r8e吗?

您也可以将它放在Application.mk中以禁止将这些警告视为错误:APP_CFLAGS + = -Wno-error = format-security

此线程中有相同问题的解决方案:

http://www.cocos2d-x.org/boards/6/topics/32437?r=33260#message-33260

参考:http://www.cocos2d-x.org/boards/6/topics/33525?r = 33579

  • "它是由android-ndk-r9引起的,你可以从android-ndk-r9/build/core/default-build-commands.mk删除-Werror = format-security"以下帮助了我,谢谢 (3认同)

Tol*_*kha 12

你必须在你的Android.mk中定制LOCAL_DISABLE_FORMAT_STRING_CHECKS:= true