构建 编译和运行Urho3D工程

2023-01-31 02:01:34 运行 编译 构建

构建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
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章