CMake构造OGRE

来源:互联网 发布:火车头采集器 知乎 编辑:程序博客网 时间:2024/05/29 04:41
这段时间开始对Ogitor感兴趣,想找到它的源码学习一下,无意中发现Ogre v1.70出来了.

而1.7版本开始转向使用Cmake编译,对于新接触的东西自然有些好奇.于是试着用Cmake来编译OGRE V1.7.首先上OGRE官网上看了用CMake构建OGRE,不太懂,接着又看了看别人写的文章,感觉还是没有多少实质性的效果.于是自己查了下CMake的使用,弄了一会,基本上work.

先下载了OGRE V1.7的源码,OGRE官网上可能还没有,所以自己用的是SVN,(用SVN获取OGRE代码的方法就不多说),光是V1.7代码还不够,当然还要有配套的Dependencies.我下载的是OgreDependencies_MSVC_20100106.zip,最好别忘了把它解压得到的Dependencies放入OGRE V1.7中.

这些下好后,就要用CMake-GUI了,一开始还不知道这是一个工具!可以到网上下,目前最新的版本好像是V2.8,不过我用的是V2.6 Windows版本的.

打开CMake-GUI,设置好要编译代码的源目录和生成目录,也就是:

where is the source code:

where to build the binaries:

第一个设置是下载的OGRE代码目录,我的是E:\Begin Ogre\Ogre1.7

下面的设置是要生成文件的目录,我的设置为E:\Begin Ogre\Ogre1.7\bin,也可以设置为其他的.具体描述可以去看CMAKE-gui简介.

至于环境变量的设置,还不用着急,一开始对于环境变量的设置也是一头雾水.

填好源目录和生成目录后就可直接点Configure,跳出对话框,问Specify the generator for this project:

我用的是VS2008 所以选的是Visual Studio 9 2008,看情况选择.然后Finish

接着点Configure.出现下面错误

CMake Error at CMake/Utils/MacroLogFeature.cmake:100 (MESSAGE):



-----------------------------------------------------------------------------


-- The following REQUIRED packages could NOT be located on your system.

-- Please install them before continuing this software installation.

-- If you are in Windows, try passing -DOGRE_DEPENDENCIES_DIR=<path to
dependencies>


-----------------------------------------------------------------------------


+ freetype: Portable font engine <http://www.freetype.org>


-----------------------------------------------------------------------------
Call Stack (most recent call first):
CMake/Dependencies.cmake:196 (MACRO_DISPLAY_FEATURE_LOG)
CMakeLists.txt:112 (include)


Configuring incomplete, errors occurred!
~~~~~~~~~~~``

去OGRE View topic看了下,才知道其实是下载的dependencies 还没有installed.也就是说要先把OGRE V1.7中下载的dependencies 先编译生成,即编译OgreDependencies.VS2008.sln.

同时设置一下跳出来的环境变量,我的是:

Boost_LIB_DIAGNOSTIC_DEFINITIONS -DBOOST_LIB_DIAGNOSTIC

CMAKE_INSTALL_PREFIX E:/Begin Ogre/Ogre1.7

OGRE_DEPENDENCIES_DIR E:/BeginOgre/Ogre1.7/Dependencies

接着点击Configure ,提示Configure done ,然后Generate.

现在可以查看文件生成目录 找项目OGRE.sln了,至于生成OGRE那就不多说,

写得凌乱,当笔记用了~~~~~~~~~~~~~~~~~~`