6

希望这可以帮助很多在 Windows 上安装 OGRE 的人。我做到了,我不想让其他人遭受同样程度的折磨。

我试图通过解释比其他网站解释更多的步骤和细节来使这种解释有所不同。其他人甚至都不会想到记录的问题和解决方案。

4

1 回答 1

19

从源代码构建 Ogre 的常规方法:

获取一个新的 Ogre 自解压器(这些说明适用于 Ogre 版本 1.7.3)
下载并安装 CMake
下载并安装 DirectX SDK
在至少有 4.3GB 空间的驱动器中创建一个名为“OGRE”的文件夹。
将 OGRE 源解压到 OGRE 文件夹中。下载 Ogre 依赖项并将它们解压缩到 OGRE 文件夹。运行 CMake 并选择 Visual Studio 10 作为默认编译器。
指定 Ogre 的源目录。它是 ogre_src_v1-7-3 文件夹。还要将windows中的OGRE_HOME环境变量设置为ogre_src_v1-7-3的完整路径。(通过右键单击我的计算机、属性、高级、环境变量、用户变量、新建来设置它)为 CMake 指定一个目录来放置它创建的二进制文件。您可以在 OGRE 文件夹中创建一个名为“Binaries”的目录。
在 CMake 中按“配置”。
它将显示很多红线条目。对于 OGRE_DEPENDENCIES_DIR 条目,指定您在上面提取的依赖项文件夹的路径。
再次单击“配置”,所有这些红线将变为白色,这意味着配置工作正常。
点击“生成”。
CMake 就是这样。
转到二进制文件夹,您将看到 OGRE.sln。双击它在VS2010中打开它。
右键单击“ALL-BUILD”项目并构建或按 F5(如果您按 F5,则构建完成时,它会说它无法运行,这没关系,因为并不是所有构建都意味着运行)
在具有 1GB RAM 的双核 2GHz PC 上构建过程大约需要 30 分钟。
将“示例浏览器”项目设置为活动项目,然后按 F5 运行它。
就是这样!Ogre 已在您的系统上配置。

==================================================== ====

但是如果你有构建问题:

为避免很多问题,请确保您从 Internet 获取原始文件夹/zip 文件/自解压器的 Ogre 源代码,并在您的计算机上安装 DirectX SDK。在您的系统上为 Ogre 创建一个文件夹并将源代码文件夹存储在那里。完成后,Ogre 源代码、二进制文件和构建文件将总共占用大约 4.3GB 的磁盘空间。

[注意:不要在您的系统上安装 Visual Studio 2008。如果你这样做了,并且如果它在构建 ogre.sln 时导致问题(致命错误 C1902:程序数据库管理器不匹配;请检查你的安装),如果你使用 VS2010 构建,只需删除 mspdb100.dll 文件。(尚未确认问题是否真的是因为安装了 VS2008。这可能是因为在这个文件中写入了一个步骤,其中 mspdb100.dll 被复制到不应该存在的文件夹中。万一你用VS2008重新构建Ogre,它显示“致命错误”,然后删除mspdb80.dll是解决方案)]

将 Ogre 源提取到系统中的文件夹中。最好有一个目录路径,例如:
"your-root\Ogre\Binaries\"用于二进制文件

*"your-root\Ogre\ogre_src_v1-7-3\"* 用于源代码

CMake:
下载并安装 CMake,它有助于配置 Ogre 以安装到您的系统中。
运行 CMake 可执行文件。
选择“将 cmake 添加到当前用户的系统路径”。
找到安装 cmake 的位置,然后运行 ​​\CMake 2.8\bin\cmake-gui.exe
指定二进制文件和源代码的目录。
单击 CMake GUI 上的“高级”复选框
将 CMAKE_CXX_COMPILER 设置为 your-Visual-Studio-installation-path/VC/bin/cl.exe
将 CMAKE_C_COMPILER 设置为 your-Visual-Studio-installation-path/VC/bin/cl.exe
将 CMAKE_RC_COMPILER 设置为whatever-path-your-RC.exe-file-is-in/RC.Exe(在“程序文件”文件夹中搜索,您可能会找到rc.exe)
单击“配置”,可能会出现找不到 mspdb100.dll 的错误
从 your-Visual-Studio-installation-path\Common7\IDE 复制 mspdb100.dll 并将其粘贴到 your-Visual-Studio-installation-path \VC\bin (不是正确的方法,但是很好......;如果在 Ogre 的构建过程中,出现类似“程序数据库管理器不匹配”之类的错误,您以后可能需要删除该文件)
一旦配置完成后,单击“生成”,它将生成 ogre.sln 文件或“.dsw”文件,当您单击时,您的 ogre.sln 文件将被创建。更多信息请参见下文。
笔记:Cmake 维护一个缓存。要随时重新配置 cmake,您必须清除缓存。Cmake 2.8 在菜单中有清除缓存的选项。如果您安装 cmake 2.6.4,您将能够使用窗口底部的按钮清除缓存。清除缓存后,您将能够选择编译器。我选择了 VS2006,并没有更改原生编译器的任何选项。就让它保持原样。
注意2:当我安装Visual C++ 2006 时,C 和C++ 编译器现在能够编译cmake 的测试文件,但是cmake 找不到位于ogre_src_v1-7-3 的bin 文件夹中的某个dll。它在 \tpcsed.com\projectshare\mapex\OGRE3D 文件夹中查找,所以我将 bin 文件夹复制到 \tpcsed.com\projectshare\mapex\OGRE3D 文件夹中。那时一切都很顺利。

如果您的 Visual Studio 版本无法实现上述配置,您可能必须安装 VS2006 才能指定正确的 c1.exe 和 rc.exe 文件。VS2010 的 c1.exe 和 rc.exe 对我不起作用。

要编译任何依赖项:
解压 OgreDependencies_MSVC_20101231.zip 转到 your-root\Ogre\ogre_src_v1-7-3\Dependencies\src 使用 VS2010(或与您的 VS 对应的 sln 文件)打开 OgreDependencies.VS2010.sln 右键单击​​解决方案并构建用于调试和发布的解决方案(右键单击解决方案 > 属性 > 配置 > 配置管理器按钮 > 活动解决方案配置组合框)

构建 Ogre:
单击 your-root\Ogre\ogre_src_v1-7-3\bin\ogre.dsw 文件并确保它在您正在使用的 VS 版本中打开。就我而言,它是 VS2010(如果您在 CMake 中使用 VS2006,您将拥有一个 dsw 文件,该文件会将解决方案转换为您的 VS 版本)
将创建一个 ogre.sln 文件。双击它。
右键单击 ALL_BUILD 项目,然后单击构建。对于 Release 和 Debug,您都应该这样做,但对我来说(暂时)就足够了。
右键单击安装项目,然后单击构建。对于 Release 和 Debug,您都应该这样做,但对我来说(暂时)就足够了。
要么执行上述 2 个步骤,要么只需单击 clean 并构建整个解决方案。
如果发现错误,请搜索构建失败的项目,阅读错误并进行更正。所有项目都必须至少成功构建才能进行调试。

如果构建失败,则清理项目并重新构建。或者从 cmake 步骤重新开始。
如果存在构建错误,请通过查看列出的错误找出发生错误的原因。这可能是因为您没有在系统上安装 DirectX SDK,或者因为您在 ogre.sln 项目属性中错误地指定了某些路径。检查所有值以查看所有路径是否正确。
就是这样!

TBB、Boost 等可选依赖项。我没有尝试安装。食人魔没有它也能工作。

运行:
尝试一个小的 Og​​re 应用程序。您应该能够运行的最简单的是:

#include <Ogre.h>
//code is from http://blog.tidalware.com/2009/06/ogre-and-visual-studio-beginners-faq/
int main(int argc, char* argv[])
{
    Ogre::Root* root = new Ogre::Root("plugins.cfg", "ogre.cfg", "Ogre.log");
    delete root;
    return 0;
}

右键单击解决方案,指定您在程序中使用的标头的包含路径。
在配置属性>常规>字符集,将其指定为“使用多字节字符集”。这可以防止由于旧的 wchar typedef 导致的错误。
必要时为链接器指定其他库目录。在 Linker> Input 中,为 Ogre 添加“OgreMain_d.lib;OIS_d.lib”,如果使用 OpenGL,添加“opengl32.lib;glu32.lib”
如果还有其他问题,请检查您的工作目录是否与输出目录相同。
就是这样!您的程序应该构建和编译。

运行程序时可能遇到的一些错误: 如果没有找到 OgreMain_d.dll,只需在 Ogre 源目录中找到它,然后将其粘贴到项目的 Debug 目录中即可。出于可移植性的原因,您可能必须将 Ogre 的许多其他资源文件复制到项目的 Debug 目录中(取决于您的程序需要哪些文件)。

要查看$(TargetPath)等变量的路径,只需单击单击任何属性值时显示的组合框,就会打开一个小对话框。单击并单击“宏 >>”以查看值/路径。

它有助于设置 OGRE_HOME Windows 环境变量。右键单击“我的电脑”,单击属性 > 高级 > 环境变量 > 系统变量 > 新建。
创建一个名为 OGRE_HOME 的新环境变量,并为其指定一个值,即 Ogre 源文件夹 ogre_src_v1-7-3 的路径。每当您指定路径时,您都可以在 VS 中使用此变量。你可以像使用它一样$(OGRE_HOME)

如果您做了更多操作或遇到错误并找到解决方案,请向此文件添加更多信息。

我的同事在此构建过程中提供了很多帮助。我从这里获得了更多帮助:http: //blog.tidalware.com/2009/08/building-ogre-with-visual-studio/
和这里:http ://blog.tidalware.com/2009/06/ogre- and-visual-studio-beginners-faq/
和 Ogre 官方网站。您还可以通过 Google 搜索获得很多帮助。特别是当您遇到构建错误时。

所有最勇敢的开发人员!:-)

于 2011-10-15T08:31:53.087 回答