如何使用Visual Studio在Windows上构建OGRE?

Nav*_*Nav 6 windows build ogre3d visual-c++ ogre

希望这能帮助很多在Windows上安装OGRE的人.我做了,我不希望任何其他人经历同样的折磨.

我试图通过解释比其他网站中解释的更多步骤和细节来使这种解释不同.其他人甚至没有考虑过记录的问题和解决方案.

Nav*_*Nav 19

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

获取Ogre的新自提取器(这些说明适用于Ogre版本1.7.3)
下载并安装CMake
下载并安装DirectX SDK
在具有至少4.3GB空间的驱动器中创建名为"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中按'configure'.
它会显示很多红色条目.对于OGRE_DEPENDENCIES_DIR条目,请指定上面提取的依赖项文件夹的路径.
再次单击"配置",所有这些红线将变为白色,这意味着配置工作正常.
点击"生成".
这就是CMake.
转到二进制文件夹,您将看到OGRE.sln.双击它在VS2010中打开它.
要么右键单击"ALL-BUILD"项目并构建或按F5(如果按F5,那么当构建完成时,它会说它无法运行,这没关系,因为所有构建都不是运行)
在具有1GB RAM的双核2GHz PC上构建过程大约需要30分钟.
将"示例浏览器"项目设置为活动项目,然后按F5运行它.
而已!Ogre在您的系统上配置.

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

但如果你有构建问题:

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

[注意:请勿在您的系统上安装visual studio 2008.如果你这样做了,如果它导致问题(致命错误C1902:程序数据库管理器不匹配;请检查你的安装),同时构建ogre.sln,只需删除mspdb100.dll文件,如果你使用VS2010构建.(目前还没有确认问题是否真的是因为安装了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到系统PATH".
找到安装了cmake的地方,然后运行\ CMake 2.8\bin\cmake-gui.exe
指定二进制文件和源的目录.
单击CMake GUI上的"高级"复选框
将CMAKE_CXX_COMPILER设置为-Visual-Studio-installation-path/VC/bin/cl.exe
将CMAKE_C_COMPILER设置为-Visual-Studio-installation-path/VC/bin/cl.exe
将CMAKE_RC_COMPILER设置为whatever-path-your-RC.exe-file-is-in/RC.Exe(在"Program files"文件夹中搜索,你很可能找到rc.exe)
点击"configure"吧可能会发出错误,无法找到mspdb100.dll
从您的Visual-Studio-installation-path\Common7\IDE复制mspdb100.dll并将其粘贴到您的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转到你的root\Ogre\ogre_src_v1-7-3\Dependencies\src用VS2010打开OgreDependencies.VS2010.sln(或者对应你的VS的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,你应该这样做,但是为了调试而做这件事对我来说已经足够了(暂时).
右键单击INSTALL项目,然后单击Build.对于Release和Debug,你应该这样做,但是为了调试而做这件事对我来说已经足够了(暂时).
要么执行上述两个步骤,要么只需单击"清理"并构建整个解决方案.
如果发现错误,请搜索构建失败的项目,阅读错误并进行更正.所有项目都必须至少成功构建才能进行调试.

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

可选的依赖项,如TBB,Boost等.我没有尝试安装.食人魔没有它.

跑步:
尝试一个小的Ogre应用程序.你应该能够运行的最简单的一个是:

#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;
}
Run Code Online (Sandbox Code Playgroud)

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

运行程序时可能遇到的一些错误:如果找不到OgreMain_d.dll,只需在Ogre soure目录中找到它,然后将其粘贴到项目的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搜索获得很多帮助.特别是当你遇到构建错误.

所有最好的勇敢开发者!:-)