我从这里下载了irrlicht android:
我尝试使用ndk-build编译irllicht android,我收到以下错误:
In static member function 'static void irr::os::Printer::log(const c8*, irr::ELOG_LEVEL)':
error: format not a string literal and no format arguments [-Werror=format-security]
In static member function 'static void irr::os::Printer::log(wchar_t const*, irr::ELOG_LEVEL)':
error: format not a string literal and no format arguments [-Werror=format-security]
In static member function 'static void irr::os::Printer::log(const c8*, const c8*, irr::ELOG_LEVEL)':
error: format not a string literal and no format arguments [-Werror=format-security]
In static member function 'static void irr::os::Printer::log(const c8*, const path&, irr::ELOG_LEVEL)':
error: format not a string literal and no format arguments [-Werror=format-security]
make: *** [obj/local/armeabi/objs/irrlicht/os.o] Error 1
有谁知道如何解决这个问题?任何帮助将不胜感激。
答案 0 :(得分:2)
找到问题的解决方案,在project / default.propeties中,我更改了:
target=android-4
到
target=android-18
在include / IrrCompileConfig.h中我注释掉了:
//#define _IRR_COMPILE_WITH_OGLES1_
因为我只需要OpenGL ES 2.这解决了问题,irrlichtandroid
使用我的项目ndk-build
文件夹中生成的libirrlicht.so
,libs
文件成功编译。
答案 1 :(得分:0)
在os.cpp(inside / jni目录中)中,更改代码:
__android_log_print(ANDROID_LOG_INFO, "log", message);
为:
__android_log_print(ANDROID_LOG_INFO, "log","%s", message);
解决了这个问题,但仍然发生错误:
In file included from jni/importgl.cpp:55:0:
jni/importgl.h:37:22: fatal error: GLES/egl.h: No such file or directory
继续努力。