配置和编译64位Ogre 1.7.2的方法

转载请注明出处!Pulas

http://www.cnblogs.com/pulas/archive/2012/02/18/2357144.html

1. 下载源代码、依赖库和构建工具:

Ogre:ogre_src_v1-7-2.exe;

Dependencies: OgreDependencies_MSVC_20100501.zip

Boost: boost_1_44_0.zip

DirectX: DXSDK_Jun10.exe

CMake: cmake-2.8.3-win32-x86.zip

2. 运行“ogre_src_v1-7-2.exe”,将其解压缩到自定义的目录。

官方建议的目录结构如下:

Ogre (Ogre源代码的根目录)

■Sources (Ogre源代码的各种版本)

        ■Cthugha (当前源代码的稳定版本)

                ■ogre_src_v1-7-2

■Builds (CMake所使用的目录)

                  ■Cthugha (当前源代码的稳定版本标准生成)

                           ■ogre_build_v1-7-2 (生成的32位库)

                 ■ogre_build_v1-7-2_x64 (生成的64位库)

若按照上述目录存放,则首先运行“ogre_src_v1-7-2.exe”,将其解压缩到“.../Ogre/ Sources /Cthugha/ogre_src_v1-7-2”目录下,如下图所示。

clip_image002

3. 编译64位的依赖库。

        将依赖库“OgreDependencies_MSVC_20100501.zip”解压到ogre_src_v1-7-2的Dependencies目录中,如上图所示。根据自己的VC版本打开“…\OGRE\Sources\Cthugha\ogre_src_v1-7-2\Dependencies\src”目录中对应的工程文件“OgreDependencies.VS20XX.sln”,打开配置管理器,新建“x64”的活动解决方案平台。然后编译出64位的debug和release版本的依赖库。

4. 编译64位的Boost库。

运行“boost_1_44_0.zip”,将其解压缩到自定义的目录,如: E:\boost_1_44_0。Boost的源代码结构如下图所示。

clip_image004

打开“Visual Studio 2008 x64 Win64 命令提示”工具,进入到Boost的根目录boost_1_44_0下,运行“bootstrap”命令,以生成bjam构建工具,然后再输入“bjam address-model=64 --toolset=msvc-9.0”命令开始编译。

5. 安装DirectX。

6. 运行“cmake-2.8.3-win32-x86.zip”。

        将其解压缩到自定义的目录,然后运行“.../bin/cmake-gui.exe”,然后在其顶部选择源代码目录(Where is the source code):.../Ogre/ Sources /Cthugha/ogre_src_v1-7-2,生成目(Where to build the binaries)录:.../Ogre/Builds/Cthugha/ogre_src_v1-7-2_x64,之后点击“configure”。然后选择生成的类型:Visual Studio 9 2008 Win64。如下图所示。

clip_image006

        Ogre通过cmake-gui提供了多种构建选项。缺省选项将构建官方SDK版本。下面是所有的构建选项及其在生成过程中产生的影响列表。 在“OGRE_DEPENDENCIES_DIR”行输入Boost的根目录,如:E:\boost_1_44_0。其他选项可以为默认值。

■OGRE_BUILD_CEGUIRENDERER - 如果启用,将生成CEGUI renderer部件。前提是CMake知道CEGUI库文件位置。

■OGRE_BUILD_COMPONENT_PAGING - 如果启用,将生成Ogre可选分页部件。

■OGRE_BUILD_COMPONENT_PROPERTY - 如果启用,将生成Ogre的可选属性部件。

■OGRE_BUILD_COMPONENT_TERRAIN - 如果启用,将生成Ogre可选分页地形部件。

■OGRE_BUILD_PLATFORM_IPHONE - 如果启用,Ogre将被生成为适用于iPhone操作系统平台。

■OGRE_BUILD_PLUGIN_BSP - 如果启用,将生成BSP场景管理器插件。

■OGRE_BUILD_PLUGIN_CG - 如果启用,将生成Cg场景管理器插件。前提是CMake知道Nvidia Cg库文件位置。

■OGRE_BUILD_PLUGIN_OCTREE - 如果启用,将生成八叉树和地形场景管理器插件。

■OGRE_BUILD_PLUGIN_PCZ - 如果启用,将生成入口连接区域(PCZ)场景管理器插件。

■OGRE_BUILD_PLUGIN_PFX - 如果启用,将生成粒子系统插件。

■OGRE_BUILD_RENDERSYSTEM_GL - 如果启用,将生成OpenGL渲染系统插件。

■OGRE_BUILD_RENDERSYSTEM_D3D9 - 如果启用,将生成Direct3D9渲染系统插件。前提是使用Windows平台,CMake知道DirectX SDK位置。

■OGRE_BUILD_RENDERSYSTEM_D3D10 - 如果启用,将生成Direct3D10渲染系统插件。前提是使用Windows平台,CMake知道DirectX SDK位置。

■OGRE_BUILD_SAMPLES - 如果启用,将生成Ogre所有示例。所有示例需要OIS库,所以CMake需要知道OIS库位置。另外,一些示例依赖CEGUI或特别的插件,如果这些依赖库没有可能需要跳过。

■OGRE_BUILD_TESTS - 如果启用,将生成Ogre库测试实例。前提是CMake知道cppunit库的位置。

■OGRE_BUILD_TOOLS - 如果启用,将生成Ogre命令行工具(MeshUpgrader和XMLConverter)。

■OGRE_CONFIG_ALLOCATOR - 这个选项确定Ogre用于分配内存的分配器。值为1将使用标准的STL分配器,缺省值2将选择基于nedmalloc的分配器。值为3用于用户分配器。

■OGRE_CONFIG_CONTAINERS_USE_CUSTOM_ALLOCATOR - 如果启用,Ogre将启用内部使用STL容器的自定义的分配器。

■OGRE_CONFIG_DISABLE_DDS - 如果启用,将不会生成Ogre内置的DDS图像解码器。

■OGRE_CONFIG_DISABLE_FREEIMAGE - 如果启用,将不会生成FreeImage图像解码器。如果没启用,CMake需要知道FreeImage库文件位置。

■OGRE_CONFIG_DOUBLE - 启用此选项后,Ogre将用双精度类型取代浮点类型。

■OGRE_CONFIG_MEMTRACK_DEBUG - 启用此选项后,可以在调试模式使用ogre的内存跟踪器。

■OGRE_CONFIG_MEMTRACK_RELEASE - 启用此选项后,可以在发布模式使用ogre的内存跟踪器。

■OGRE_CONFIG_NEW_COMPILERS - 如果启用,Ogre会使用新的脚本编译器。这是缺省选项。

■OGRE_CONFIG_STRING_USE_CUSTOM_ALLOCATOR - 如果启用,Ogre::String会使用自定义的分配器。注意Ogre::String将不兼容std::string。

■OGRE_CONFIG_THREADS - 这个设定决定Ogre的多线程支持程度。值为0禁止线程支持。值为1表示支持后台资源载入,然而值为2只是后台资源准备。

■OGRE_DEPENDENCIES_DIR - 包含了Ogre依赖文件的所有目录。这个设置用于CMake定位所有的依赖文件;当使用一些为Windows或Mac平台而预建立的依赖文件时这个设定显得非常重要。

■OGRE_FULL_RPATH - 如果启用,运行Unix平台上的程序需要完全的路径。如果禁用,只需要部分路径,包括PCZ场景管理器。甚至在CMAKE_SKIP_RPATH选项中被启用的部分你在这里也可以禁用。

■OGRE_INSTALL_DOCS - 如果启用,将会安装Ogre文档(手册和API参考)。

■OGRE_INSTALL_MEDIA - 如果启用,将会安装Ogre示例媒体文件。

■OGRE_INSTALL_PLUGIN_HEADERS - 如果启用,将会安装Ogre插件头文件。通常插件意味着不需要显式地链接,因此头文件不是必需的。然而在一些异常情况下你可能会用到它们。

■OGRE_INSTALL_SAMPLES - 如果启用,将会安装Ogre示例文件。这要求示例已提前生成。

■OGRE_INSTALL_SAMPLES_SOURCE - 如果启用,将安装Ogre的示例源代码。官方SDK包的主要内容。

■OGRE_INSTALL_TOOLS - 如果启用,将会安装命令行工具。这要求它们已提前生成。

■OGRE_STANDALONE_BUILD - 这是一个实验性质的选项,用来生成Windows平台下的Visual Studio项目文件;准备加入官方SDK包。

■OGRE_STATIC - 启用这个选项将生成Ogre和所有它的部件及插件(只要是启用了的)为静态库。

        根据你的需要选择相应的选项。尤其是要禁止那些编译费时的选项。当你满意后,再次点击cmake-gui中的'Configure',然后选择'Generate'。就将会在你自己选择的目录下创建一个自定义的构建系统。

clip_image008

7. 在生成目录中打开CMake生成的Ogre的解决方案,即:.../Ogre/Builds/Cthugha/ogre_src_v1-7-2_x64/OGRE.sln。首先编译ALL_BUILD项目,这样就可以分别编译生成Debug和Release版本的Ogre库。编译完成后,则再编译“INSTALL”项目,它会在ogre_src_v1-7-2_x64目录下生成一个“sdk”文件夹,里面包含了调用Ogre库所需的头文件、lib文件和dll文件。若想将生成的库文件安装到一个干净的目录,则只需将“sdk”文件夹拷到其他目录即可。

8. 设置环境变量。

如下图所示,在用户变量里,新建一个环境变量“OGRE_HOME_x64”,用于64位库,其值即为“INSTALL”项目生成的“sdk”文件夹的路径,或将“sdk”文件夹拷到的其他目录,如:E:\Program Files\OgreSDK_vc9_v1-7-2_x64。若想32位库和64位库并存,则可再新建一个环境变量“OGRE_HOME”,用于32位库。

clip_image010

9. 设置VC++目录。

在“选项”对话框的“VC++目录”项中,选择“x64”平台,在“包含文件”目录里,如下图所示,添加三个目录:

$(OGRE_HOME_x64)\include

$(OGRE_HOME_x64)\include\OGRE

E:\boost_1_44_0(自定义的Boost的根目录)

clip_image012

在“库文件”目录里,如下图所示,添加以下几个目录:

$(OGRE_HOME_x64)\lib\debug

$(OGRE_HOME_x64)\lib\debug\opt

$(OGRE_HOME_x64)\lib\release

$(OGRE_HOME_x64)\lib\release\opt

E:\boost_1_44_0\stage\lib(自定义的Boost的目录)

clip_image014

原文地址:https://www.cnblogs.com/pulas/p/2357144.html