配置和编译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”目录下,如下图所示。
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的源代码结构如下图所示。
打开“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。如下图所示。
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'。就将会在你自己选择的目录下创建一个自定义的构建系统。
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位库。
9. 设置VC++目录。
在“选项”对话框的“VC++目录”项中,选择“x64”平台,在“包含文件”目录里,如下图所示,添加三个目录:
$(OGRE_HOME_x64)\include
$(OGRE_HOME_x64)\include\OGRE
E:\boost_1_44_0(自定义的Boost的根目录)
在“库文件”目录里,如下图所示,添加以下几个目录:
$(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的目录)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构