构建Win32工程
下载源码包。直接解压就可以构建工程了,不需要再下载依赖库。下载地址:https://sourceforge.net/projects/urho3d/files/Urho3D/,最新稳定版本是1.6。
安装IDE。如果在Windows上开发,安装VS 2008。遇到个奇怪的事,家里的台式机可以基于VS 2008构建工程,笔记本上就出错。所以笔记本上使用VS 2015构建工程,但是编译会出错。还没有搞清楚原因。
安装CMake。下载地址:https://cmake.org/download/。
使用CMake构建工程。
将下载的源码包解压,改名,我的路径是“E:\GameEngines\Urho3D\1.6\Code”,“Code”文件夹下有所有的源码。见下图。
在“1.6”文件夹下创建新的文件夹,取名“Solution”,用于存放构建好的工程。
运行CMake。我习惯使用有图形化界面的,所以运行“cmake-gui.exe”。
输入源码和构建工程的路径,并勾选上“Advanced”。
点击“Configure”后,会出来很多选项。
重要的几个:
URHO3D_C++11,是否使用C++11,默认是勾选掉的。
URHO3D_D3D11,是否替换掉D3D9,使用D3D11作为图形API。建议勾选上。
URHO3D_OPENGL,是否使用OpenGL作为图形API。勾选上会选择使用OpenGL作为图形API,替换掉D3D。不建议勾选。
URHO3D_DOCS,是否构建文档。勾选上必须先安装Doxgen,否则就会再次点击配置时失败。
URHO3D_ URHO2D,是否构建2D相关模块。如果做的是3D项目,建议勾选掉。
更改后,再次点击“Configure”。
点击“Generate”,即可产生解决方案。
在“E:\GameEngines\Urho3D\1.6\Solution”里有“Urho3D.sln”,打开,编译。
前缀是数字的工程都是Sample,有44个。
在Windows上构建Android工程
安装开发环境。运行CodeWorksforAndroid-1R5-windows.exe进行一键安装Android开发环境。
设置环境变量。
1、将类似“D:\SDKs\NVPACK\android-ndk-r10e\prebuilt\windows-x86_64\bin”的路径添加进PATH,重启cmd,否则生成安卓工程会报错:“CMake Error: CMake was unable to find a build program correspondingto "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different buildtool.
2、必须将cmake-gui.exe所在的路径添加到环境变量PATH里才行,并且设置好了以后重启cmd。
3、编译1.6需要的NDK版本是android-ndk-r10e,否则编译会出错。1.7使用了AndroidNDK r12b and above。
生成安卓工程。
1、打开命令行,进入cmake_android.bat所在的文件夹。
2、执行“cmake_android.batbuild_android-DURHO3D_LUA=0”。如果要支持lua,去掉“-DURHO3D_LUA=0”,但目前的Urho版本在编译So文件时会出错,原因还不知道?Default to use'arm-linux-androideabi-clang' toolchain(NDK r12b之前的版本里找不到这个) and LLVM libc++ STL runtime,见Android NDK r12b andabove. Default to use 'arm-linux-androideabi-clang' toolchain and LLVM libc++STL runtime.
Android NDK r12b and above. Default to use 'arm-linux-androideabi-clang'toolchain and LLVM libc++ STL runtime.
Android NDK r12b and above. Default to use 'arm-linux-androideabi-clang'toolchain and LLVM libc++ STL runtime.
Android NDK r12b and above. Default to use 'arm-linux-androideabi-clang'toolchain and LLVM libc++ STL runtime.
https://github.com/urho3d/Urho3D/commit/2f8a80def415d8053130f219619804f6a12a04ab。1.7还没有编过。
编译Apk文件。依次执行(千万不要带尖括号):
在命令行中进入文件夹“build_android”,
android list target//查询 <target-id>数字对应的版本
android update project -p . -t<target-id>//生成项目构建文件,例如:android update project -p . -t 10
make -j<num_jobs>//编译SO文件
ant debug//构建最终apk文件
使用adb的方式打包到手机。进入apk所在的文件夹里,运行adb install –r *.apk。也可以采用下面Androidstudio的方式。
通过Android studio打包到手机。
Android studio里打开工程。运行Android studio,点击“File/New/Import project”,选中文件夹“Code\Android”,点击“OK”。
拷贝.so文件。将Code\build_android\libs里面的文件夹armeabi-v7a以及其中的内容都拷贝到“C:\Users\admin\StudioProjects\Android\app\src\main\jniLibs”。
运行。插上手机,点击Androidstudio里的Run。
拷贝PBR用到的资源。默认情况下,Code\Android\assets里只包含CoreData和Data,需要将Autoload拷贝过来(使用快捷方式还不行),否则PBR的运行不了。目前天空盒纹理好像还有点问题,显示不正常。
在Xcode上构建iOS工程
在Mac上安装CMake。
在Mac里打开Applications,在CMake的图标上右键点击“ShowPackage Contents”,在Contents/Bin/cmake上右键点击Get Info可以获取cmake的路径,例如,我的是/Applications/CMake.app/Contents/bin。
安装CMake以后,需要执行exportPATH=/Applications/CMake.app/Contents/bin:$PATH
生成xcode工程,执行:/Users/davidjobs/Documents/Urho3D-1.6/cmake_ios.shbuild-ios -DURHO3D_LUA=0
编译中会遇到一个时间函数重定义的报错,删除即可。
作者:CrazyEngine
来源:CSDN
原文:https://blog.csdn.net/CrazyEngine/article/details/53470261
版权声明:本文为博主原创文章,转载请附上博文链接!