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

转载于:https://blog.51cto.com/14058389/2314753

构建 编译和运行Urho3D工程相关推荐

  1. 前端架构设计第六课工程化构建、编译、运行

    12 如何理解 AST 实现和编译原理? 经常留意前端开发技术的同学一定对 AST 技术不陌生.AST 技术是现代化前端基建和工程化建设的基石:Babel.Webpack.ESLint.代码压缩工具等 ...

  2. dos下编译运行java工程,并解决外部jar包依赖

    首先介绍一下我在eclipse中能够运行的工程目录结构: 接下来删除掉.settings  bin .classpath  .project这些目录和文件(避免干扰) 在src目录中有三个包 com. ...

  3. X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.在 X86_64 Linux 系统下搭建 i386 文件系统 二.配置 Schroot 工具使得文件系统切换更方便 ...

  4. Jenkins流水线打包微服务构建docker镜像运行

    前提: 1.已安装Harbor. 2.已安装Jenkins,已配置相关环境,如Maven.JDK等. 3.微服务项目已经推送到远程仓库(我这里是推送到了gitee). 操作流程如下 1.新建任务 2. ...

  5. 编译调试运行Tiled历程

    最近在看Tiled,一款地图编辑器,用了下,貌似功能比较强大,用起来也比较顺手.具体功能不过多说,说一下这个开源软件的编译吧. 它在github上的地址:https://github.com/bjor ...

  6. 动手实现Android源码(AOSP)的下载、编译、运行、导入、调试

    这几天为了搞Android源码费了不少功夫,也遇到了不少坑,在此记录作为日后参考.Android源码的编译运行只支持Linux和Mac系统,至于Windows系统只能绕道了,或是在虚拟机上安装Linu ...

  7. Android开发学习笔记(二)——编译和运行原理(1)

    接着上一篇的内容,继续从全局了解Android.在清楚了Android的平台架构(可以看作是静态原理)后,还需要掌握其动态原理.动态原理包含两部分,一部分是编译原理,另一部分是运行原理.有人会说,搭建 ...

  8. 今天终于将第一个 Android NDK 程序编译、运行成功

    今天终于将第一个 NDK 程序编译.运行成功. 起先看资料和书籍时,都要求安装 CygWin.我也安装了,并将 Sample: hello-jni 编译成功.编译的 LOG 如下:  LeoZheng ...

  9. java 编译 器 ide_在没有IDE的情况下编译和运行Java

    java 编译 器 ide 最近一个名为" 不使用IDE编译Java软件包 "的Java subreddit线程提出了一个问题:"是否有一个命令将软件包内的一组Java文 ...

最新文章

  1. 李洪根关于[SQL]对于分页存储过程
  2. OpenResty简介
  3. boost::gil::is_planar用法的测试程序
  4. mysql修改忘记了root密码忘记了,mysql忘记root密码后,重新设置、修改root密码
  5. CI框架源码阅读笔记4 引导文件CodeIgniter.php
  6. python自动配置文件_【python接口自动化】- ConfigParser配置文件的使用
  7. linux命令之history命令
  8. Simulink之功率场效应晶体管(P-MOSFET)
  9. c语言二级吧,c语言二级考试
  10. (附源码)计算机毕业设计java宠物领养饲养交流管理平台
  11. 车联网仿真测试解决方案
  12. python找色_python坐标找色
  13. Linux系统设置DNS服务器地址
  14. 在北大国家发展研究院发言
  15. mmo mysql_一次MMO游戏服务器性能压测记录
  16. linux dd创建大文件模拟磁盘不足监控
  17. pytorch指定版本更新
  18. 名人养生贴网络疯转 跟李嘉诚们学做长寿优等生
  19. C++类与对象之封装篇
  20. andriod——Fresco+Retrofit+GreenDao

热门文章

  1. iOS之CAEmitterLayer粒子引擎
  2. linux基础概念和个人笔记总结(6)
  3. open***无法启动日志报错解决方法
  4. PostgreSQL数据库dblink和postgres_fdw扩展使用比较
  5. 使用MySQL命令行修改密码
  6. 分享一个WM上绘制饼图、柱形图、折线图的控件类
  7. Tencent云联网灾备方案
  8. 前端开发中好用的 chrome 插件
  9. IndexedDB 索引数据库
  10. 使用Zabbix官方模板监控MySQL