用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选项(分类更清楚,方便配置信息),将源码路径和目标文件夹路径添加。

cmake 编译 ogre3D(version1.9) for android_第1张图片

2.点击configure,选择MinGW makefiles,勾选Specific toolchain file for cross-compiling。

cmake 编译 ogre3D(version1.9) for android_第2张图片

3.Specific the toolchain file选择源码文件夹下/CMake/toolchain/android.toolchain.cmake.


4.这里会直接显示Configuring done,有可能会出现错误,根据错误修改对应的配置信息就行了。

cmake 编译 ogre3D(version1.9) for android_第3张图片

5.我自己将ANDROID下的"ANDROID_NATIVE_API_LEVEL" 设置为9。

cmake 编译 ogre3D(version1.9) for android_第4张图片

将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。

cmake 编译 ogre3D(version1.9) for android_第5张图片

9.若在编译OgreJNI的时候报错,基本就是在95%以上的样子,不必管,貌似是dependencies没有编译成功,忽略并且重新执行mingw32-make的命令。



ogre官方文档:http://www.ogre3d.org/tikiwiki/CMake%20Quick%20Start%20Guide?tikiversion=Android



更多相关文章

  1. Android EventBus 源码解析
  2. Android framework源码按键操作的完整流程
  3. Android源码及SDK国内镜像下载
  4. Android系统源码数据库(mmssms.db)(转)
  5. 【Android】EventBus源码解析(3.1.1)
  6. Android 保存文件路径方法
  7. 基于Android客户端的人人网开放平台开发系列教程 (有源码哦)

随机推荐

  1. Error:(15) No resource identifier foun
  2. android执行外部程序,类似DELPHI里的EXEC
  3. android 读取,写入图片到sd卡源码
  4. Android(安卓)自动更新之状态栏下载
  5. android -------- Android(安卓)Studio 4
  6. Android实现对HOME键的捕获和屏蔽
  7. Android调用系统应用程序
  8. How to import sample Android projects
  9. linux下搭建android NDK开发环境
  10. 第五章 以数据为中心—数据存取(4)