Urho3D是一个轻量级、跨平台的2D和3D渲染的c++实现开源游戏引擎,在MIT许可协议下发布。利用OpenGL渲染或是3D9(Shader Model 2和OpenGL 2),是受到OGRE 和horde3d极大的鼓舞而延生。本文只是描述Urho3D在win32和android搭建。

适用版本

Urho3D1.4 Urho3D1.5 Urho3D1.6 Urho3d1.7

构建的系统说明

操作系统,cmake.org下载最新版

  • Windows系统,下载安装DirectX SDK ,也可不装,cmake配置时去掉dx ,勾选OpenGL,。
  • Linux系统,安装libx11-dev,libxrandr-dev,
  • 树莓派系统
  • Mac OS X系统,Xcode开发工具包
  • Android系统,安装Android SDK和NDK的Android(API最低12),至于无法下载请百度。
  • Emscripten系统

构建

推荐使用方法二

方法一:使用脚本构建

win用bat
linux用sh
基本的使用命令是:

<script-name> /path/to/build-tree [build-options]

方法二:使用cmake构建

Urho3D使用CMake(http://www.cmake.org)来搭建。该过程有两个步骤:

  • 你可以用界面或者脚本生成解决方案。执行命令cmake_vs2013.bat build_vs2013 -DURHO3D_OPENGL=1。
    • Windows:cmake_vs20xx.bat,cmake_mingw.bat,cmake_codeblock.bat,cmake_ninja.bat,或cmake_generic.bat
    • Mac OS X的:cmake_macosx.sh,cmake_codeblocks.sh,cmake_ninja.sh,或cmake_generic.sh
    • Linux:cmake_eclipse.sh,cmake_codeblocks.sh,cmake_ninja.sh,或cmake_generic.sh
    • 树莓派:cmake_rpi.sh,cmake_eclipse.sh,cmake_codeblocks.sh,cmake_ninja.sh,或cmake_generic.sh
  • 利用的CMake的生成的项目文件或解决方案文件。
    • Visual Studio:打开Urho3D.sln
    • Xcode:打开Urho3D.xcodeproj
    • CodeBlocks:打开Urho3D.cbp
    • Eclipse:使用文件|导入 导入项目“存在项目到工作区”

安卓版本编译

笔者环境:win7 x64 win10 x64
1、新建环境变量:ANDROID_NDK D:/Android/android-ndk-r9d
2、添加到Path变量(需要自己去下载android-ndk android-sdk apache-ant):D:\Android\android-ndk-r9d\prebuilt\windows-x86_64\bin;D:\Android\android-sdk\tools;D:Android\apache-ant-1.9.4\bin
3、到Urho3D-1.5 执行 cmake_android.bat build_android -DURHO3D_LUA=0
Urho3d-1.7 执行cmake_android.bat build_android -DURHO3D_LUA=0   -DURHO3D_PCH=0
//1.7的错误提示 Source/Urho3D/Container/Str.cpp:1081:14: error: non-const lvalue reference to type ‘__builtin_va_list’ cannot bind to a value of unrelated type ‘va_list’ (aka ‘__builtin_va_list’
4、进入到build_android目录依次执行

android list target //查询 <target-id> 数字对应的版本
android update project -p . -t <target-id>
make -j <num_jobs>
ant debug

5、target-id是android list target可以查询,num_jobs 是参与并行make数量。
建议参考这里的https://github.com/299299/Urho3D已经提供了ANDROID_NDK下载。备注如果无法make –j 4
出错:
make interrupt/exception caught (code = 0xc00000fd , addr = 0000000000420386,
sdl redefinition of ‘struct mallinfo’
检查是否有D:/Program Files (x86)/Git/bin从系统环境变量Path移除。或者放到NDK后面!

HelloWorld截图

《Urho3D游戏引擎搭建》

下载及参考链接

https://github.com/urho3d/Urho3D/releases
http://urho3d.github.io/documentation/1.4/_building.html