Compile++ thumb : cocos2dx_static <= CCCommon.cpp In function 'void cocos2d::CCLog(char const*, ...)': CCCommon.cpp:44:72: error: format not a string literal and no format arguments [-Werror=format-security] CCCommon.cpp: In function 'void cocos2d::CCLuaLog(char const*)': CCCommon.cpp:54:77: error: format not a string literal and no format arguments [-Werror=format-security]

jni 폴더의 Application.mk 파일에 다음 라인을 마지막에 삽입하면 오류 없이 컴파일이 진행됩니다.

( 혹은 APP_CPPFLAGS의 마지막에 -Wno-error=format-security 를 추가해줘도 됩니다. )


APP_CFLAGS += -Wno-error=format-security



근데 이게 매번 프로젝트 생성해줄때마 해주는게 번거롭다는 생각이 들었습니다...

쭉 살펴보니, cpp 프로젝트의 경우 sample/HelloCpp/proj.android 에서 template을 끌어오는걸 확인했네요.

( 왜 template 폴더가 아닌거야 응? -_- )


cocos2d-x root 디렉토리의 sample/HelloCpp/proj.android/jni/Application.mk 파일 맨 아래에도 위 라인을 삽입해주면 앞으로 생성되는 프로젝트는 다 달려서 나옵니다.


혹은 예전 버전 빌드의 경우 ndk가 낮은 버전이 필요하게 될 수 도 있다.


http://dl.google.com/android/ndk/android-ndk-r9b-darwin-x86_64.tar.bz2

위 링크가 OS X용 r9b 버전을 받기 위한 주소인데


http://dl.google.com/android/ndk/android-ndk-r8e-darwin-x86_64.tar.bz2

이렇게 링크를 변경하여 브라우저에서 링크를 띄우면 OS X용 r8e 버전을 받을 수 있다.


너무 쉬워서 그런가 안내글이 별로 없길래 글 쓴다.

Posted by maysent
: