编译irrlicht时的错误 - android端口(Mac OSX)

时间:2013-11-22 05:43:56

标签: android macos android-ndk irrlicht ndk-build

我从这里下载了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

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

2 个答案:

答案 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.solibs文件成功编译。

答案 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

继续努力。