打开ogre官网Download OGRE | OGRE - Open Source 3D Graphics Engine (ogre3d.org)链接,弹出如下界面(注意:下面界面是截至2022年8月14日的,后期网站更新,界面可能和这有不一样):
点击绿色方框的链接,下载源码。蓝色方框是如何编译ogre库的链接,读者也可以通过此链接来编译ogre。
去CMake官网CMake下载CMake编译工具。注意:必须保证CMake版本>= 3.10。
在ogre源码的同一目录新建一个目录,用于存放编译生成的中间文件、库等,如build。如下:
打开CMake,在“where is the source code”编辑框选择ogre源码目录, 在“where to build the binaries”目录选择刚才新建的build目录,如下:
ogre在编译时,需要用到一些必要的库,如下:
对于某些功能开发,还需要用到某些如下的可选库:
注意:当你的电脑联网时,在利用CMake编译时,CMake会自动去官网下载必要库,当没联网时,你得自己下载,然后放到build下。
在CMake中选择“Tools->Configure”弹出如下界面:
根据你本机装的VS选择vs的版本,我本机装的vs2019。注意:后面一项得选x64,相信现在用win32的已经很少了。
单击Finish按钮,关闭该对话框后,如果以前没下载过必要的第三库且本机可以上网,则此步骤会自动从网上下载并编译前文提到的必要库,编译出来的库存放在ogre\build\Dependencies相应目录下,估计需要等待一段时间。
待右下角进度条走到头后,单击左下角的“Gnererate”,稍等一会后,就会在build目录下生成.sln解决方案文件。用Visual Studio 2019打开它进行编译,编译过程中可能会产生如下错误:
这些错误产生的原因是:必要的依赖库不匹配造成的。以报错的Codec_Assimp工程为例,解决方法如下:
如下为assimp工程配置:
3.编译assimp工程,将生成的lib拷贝到build\Dependencies\lib目录。
注意:
如果是未联网状态,CMake就自动下载不了该工程,步骤1中就不会assimp-X.X.X目录,此时请自行按前文提供的官网下载该工程并自行编译且存放到ogre\build\Dependencies相应目录下。
类似地,对其它报错的工程进行处理,如:OgreBullet报错是因为build\bullet3-3.24目录下的BULLET_PHYSICS工程、OgreXMLConverter报错是因为build\pugixml-1.12下的pugixml工程都需要按assimp工程配置方法进行配置。当这些全部搞好后,再此编译,就可以全部成功,至此Windows下的Ogre编译全部完成。