用cmake 编译 ogre3D(version1.9) for android。
ogre3D源码中已经有对ogre3D编译为android库的CMakelists文件。我们要做的就是用cmake将ogre3D转为android库。
工具:
1.Android SDK
2.Android NDK(我编译ogre1.9用的是android-ndk-r8d)
3.Ogre源码
4.AndroidDependencies(或者用Dependencies的源码自己编译,方法跟下面用cmake编译Ogre一样)
5.cmake
6.MinGW
设置环境变量:
1.在系统变量中添加ANDROID_NDK和ANDROID_SDK的路径信息。
2.在path变量中添加信息%ANDROID_SDK%\tools, %ANDROID_SDK%\platform-tools, and %ANDROID_NDK%。
3.在path变量中将mingw的“bin”文件夹的路径添加进去。
用Cmake创建MinGW makefiles并且编译生成静态库。
1.打开Cmake(Cmake-gui),勾选Grouped和Advanced选项(分类更清楚,方便配置信息),将源码路径和目标文件夹路径添加。
2.点击configure,选择MinGW makefiles,勾选Specific toolchain file for cross-compiling。
3.Specific the toolchain file选择源码文件夹下/CMake/toolchain/android.toolchain.cmake.
4.这里会直接显示Configuring done,有可能会出现错误,根据错误修改对应的配置信息就行了。
5.我自己将ANDROID下的"ANDROID_NATIVE_API_LEVEL" 设置为9。
将CMAKE下的"CMAKE_MAKE_PROGRAM" 设置为 NDK目录下/prebuilt/windows/bin/make.exe。
将OGRE下的"OGRE_DEPENDENCIES_DIR" 设置为 OGRE Android Dependencies的文件夹路径。
6.默认下的ogre gles2是不勾选的,需要用到的自己去OGRE下勾选,gles2需要glsl支持的也要去下载GLSL_Optimizer,并将相应的路径信息添加进去。
7.点击configure,若没有错误点击Generate。
8.cmd进入目标文件夹下输入:mingw32-make。
9.若在编译OgreJNI的时候报错,基本就是在95%以上的样子,不必管,貌似是dependencies没有编译成功,忽略并且重新执行mingw32-make的命令。
ogre官方文档:http://www.ogre3d.org/tikiwiki/CMake%20Quick%20Start%20Guide?tikiversion=Android