VS2010 编译OGRE最后出现无法打开All_Build

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2010 编译OGRE最后出现无法打开All_Build相关的知识,希望对你有一定的参考价值。

弹出的错误框如图,在SDK的bin下的Debug文件夹下的SampleBrowser_d.exe能够正常打开,sample也能打开来看。

把中文路径去掉试试?
All_Build是工程,samplebrowser_d.exe是可执行文件,它们打开与否没关系吧,怎么在一起提?
参考技术A 同样的问题啊 希望得到答案

Ogre 1.7.0,VS2005编译全过程傻瓜式教程

最近下了最新版Ogre 1.7.0,从下载到最后编译运行成功Ogre自带的Sample花了将近一下午时间。

网上有很多编译Ogre的教程,这里整理我看过的教程,加上自己的经验再详细总结一遍。

 

第一步:准备好如下所有东西:

1、VS2005 + SP1补丁包。

    我用的是VS2005(VC8).一定要打上SP1补丁包(几百兆的那个补丁包...),否则无法编译Ogre

2、Ogre 1.7.0,官网链接https://sourceforge.net/projects/ogre/files/ogre/1.7/ogre-v1-7-0.zip/download

    请注意这是Ogre完整源码(文件名为ogre-v1-7-0.zip,73M),而不是SDK(文件名为OgreSDK_vc8_v1-7-0.exe,52M)

    官网上的说法是推荐新手使用SDK,但是安装SDK后自带的Sample跑不出来,不知道什么原因。

3、Ogre依赖库,官网链接http://www.ogre3d.org/forums/viewtopic.php?f=1&t=54533

    也就是官网上说的Dependencies for OGRE 1.7,这里面包含OGRE源码用到的所有第三方库,如Zlib,Cg, FreeImage等。

    由于我是用VS2005,所以下载的文件是OgreDependencies_MSVC_20100106.zip。

4、CMake 2.8,官网链接http://www.cmake.org/cmake/resources/software.html

     OGRE使用CMake实现不同平台上的源码配置管理。

     我下载的文件为cmake-2.8.0-win32-x86.zip。

 

第二步:配置

1、解压ogre-v1-7-0.zip,比如我放在F:/Ogre1.7/

2、解压OgreDependencies_MSVC_20100106.zip,然后把里面的Dependencies文件夹拷贝到F:/Ogre1.7/

3、打开Dependencies/src/OgreDependencies.VS2005.sln,编译整个解决方案,Debug和Release都要编译.

3、解压cmake-2.8.0-win32-x86.zip(解压到哪里无所谓),运行里面的cmake-gui.exe

4、在Source code文本框和Build the Binaries文本框里都填入OGRE源码路径F:/Ogre1.7

5、点击Configure,在弹出的提示中选择VS版本,配置过后中间可能会出现红色的提示,不用理会,继续Configure,这时候Generate按钮可用了,点击。

6、这时候,CMake已经帮你在F:/Ogre1.7 目录下生成了OGRE.sln,打开后编译整个解决方案(我是编了半个小时)

7、这时候启动SampleBrowser工程就可以欣赏Demo了。也可以在F:/Ogre1.7/Bin下面直接运行。

 

第三步:可能出现的问题

如果编译成功,运行SampleBrowser出现错误OGRE EXCEPTION(0:IOException): Cannot create settings file. in Root::saveConfig at ../../v1-7/OgreMain/src/OgreRoot.cpp

这是因为OGRE在我的文档/Ogre中创建配置文件失败,是权限不足的问题,可以直接修改源码,改变配置文件地址。

源码位置:Ogre1.7/Samples/Browser/src/FileSystemLayerImpl_WIN32.cpp

 

[cpp] view plain copy
 
  1. void FileSystemLayerImpl::prepareUserHome(const Ogre::String& subdir)  
  2.     {  
  3.         TCHAR path[MAX_PATH];  
  4.         if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, 0, path)))  
  5.         {  
  6.             mHomePath = path;  
  7.             // create Ogre subdir  
  8.             //mHomePath += "//Ogre//";  
  9.             // Added by DD : 2010-3-17 : 由于某种原因导致Ogre没有权限读写我的文档  
  10.             // 所以在这里修改Ogre HomePath目录  
  11.             mHomePath = "F://Install//work//Ogre//OgreHomePath//";  

 

 

建议:

OGRE 1.7吧所有Demo做成了DLL插件的类型,由SampleBrowser动态加载各个Demo。

我觉得这个除了装高档牛逼之外没有别的好处。就像很多网友说的,“Hello World”的思想在广大程序员心里已经根深蒂固了。

初学者不知道如何从0开始写出自己的第一个OGRE程序是比较郁闷的。

做为初学者,我下了1.7之后,又另外下了个1.65,后者的所有Demo都是独立的,其中的Demo_EnvMapping可以认为是OGRE的“Helllo World”。

 

希望大家共同进步。

 

http://blog.csdn.net/lsldd/article/details/5388339

以上是关于VS2010 编译OGRE最后出现无法打开All_Build的主要内容,如果未能解决你的问题,请参考以下文章

Ogre 1.7.0,VS2005编译全过程傻瓜式教程

用VS2010编译的C++大作业出现了无法识别的外部符号BUG

VS2012 每次编译程序都会出现3个无法查找或打开 PDB 文件。

Ogre1.6.5 编译链接错误之FreeImage

vs2010编译出的exe“应用程序无法正常启动(0xc0150002)”

VS2008 编译时出现的错误:无法打开编译器中间文件。如何解决?