1

我从这里下载了 irrlicht android:

https://gitorious.org/irrlichtandroid/irrlichtandroid/source/f12c3b9743d64dc5cd61931f40e42e8ca64b40ef

我尝试使用 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

有谁知道如何解决这个问题??任何帮助将不胜感激。

4

2 回答 2

2

找到了问题的解决方案,在 project/default.propeties 中,我已更改:

target=android-4

target=android-18

在 include/IrrCompileConfig.h 我已经注释掉了:

//#define _IRR_COMPILE_WITH_OGLES1_

因为我只需要 OpenGL ES 2。这解决了问题,使用在我的项目文件夹中生成的文件成功irrlichtandroid编译。ndk-buildlibirrlicht.solibs

于 2013-11-23T10:45:47.797 回答
0

在 os.cpp(在 /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

正在努力。

于 2013-11-22T06:48:44.283 回答