1. 准备
- Visual Studio (VS2019)
- CMake
https://cmake.org/download/
- DirectX SDK
DXSDK_Jun10.exe 后安装即可。DXSDK_Jun10.exe下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=6812
- Ogre编译所需要的依赖项:ogredeps ;
https://bitbucket.org/cabalistic/ogredeps/downloads/
- SDL库
为了修复一个CMake config过程中遇到的问题; https://www.libsdl.org/hg.php
- Ogre源码
https://www.ogre3d.org/download/sdk
2. 准备工作安装
DirectX SDK 安装问题:
如果系统已经安装过
Microsoft Visual C++ 2010 x86 Redistributable - 1010.0.40219
Microsoft Visual C++ 2010 x64 Redistributable - 1010.0.40219
则会出现【错误Error Code:s1023】提示,卸载更高版本的
Microsoft Visual C++ 2010 x86 Redistributable - 1010.0.40219
Microsoft Visual C++ 2010 x64 Redistributable - 1010.0.40219
再重新安装DXSDK_Jun10.exe 即可,安装完后,下载1010.0.40219版升级回来即可。
Visual C++ 2010 Redistributable下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=26999
3. CMake对Orge依赖项进行编译
解压下载下来的ogredeps,更名为Dependencies,放至:D:\tool\OgreSDK\Dependencies
解压下载下来的SDL-2.0.xxxxx,将文件夹更名为SDL2,将SDL2复制到(例如)D:\tool\OgreSDK\Dependencies\src中
打开CMake,对Dependencies进行config和generate
这时提示有一项生成失败了。
根据提示打开 \src\SDL2-prefix\src\SDL2-stamp 目录下的 SDL2-MoveInstallFiles-err.log,报错信息:
bin 文件夹下缺少 SDL2.dll 这个文件。SDL2d.dll 说明是 Debug 模式下生成的。所以如果需要 SDL2.dll 文件,我们可以切换成 Release 模式进行生成
里面没有 SDL2.dll。只需打开眼前的 Debug 或者 Release 文件夹,把里面的 SDL2.dll 拷贝出来到 bin 文件夹即可
切换回 Debug 模式,重新生成一下即可
生成一下INSTALL项目(Debug 和 Release 模式都要):
4. CMake对Orge进行编译
这次需要对OgreSDK文件夹进行config和generate了,当你选择好where is the source code和Where to build the binaries后,点击config,config完后,到列表中找到OGRE_DEPENDENCIES_DIR,将其设置为D:\tool\OgreSDK\Dependencies\build\ogredeps,再次config,然后generate
同理,打开OgreSDK\build里面的OGRE.sln,右键ALL_BUILD点击生成,
出现找不到的 IrrXML.lib 从 其他目录下拷贝一份即可
注意: 尽量选择X64平台,Win32会出现目标平台冲突的错误
---------------------------------------------------------------------------------
上述Ogre编译并没有成功啊啊啊!!!!!! 报:error LNK2019: 无法解析的外部符号
暂未解决
----------------------------------------------------------------------------------
Release 可以生成成功,但是Debug不可以 ,有Debug成功的大佬可以交流一下
参考:
https://www.daimajiaoliu.com/daima/4858e79a810040c
https://www.jianshu.com/p/ce27903a6784
https://blog.youkuaiyun.com/ddogyuan/article/details/79559667