瞎折腾了好几天终于搞定了OGRE与VS2010的配置,在配置过程中也遇到了许多问题在这里写下来,跟大家分享!
1.下载列表:
(1)OGRE SDK:http://www.ogre3d.org/download/sdk (我用的OGRE版本为OGRE 1.8.1 SDK for Visual C++ .Net 2010 (32-bit))。
(2)OGRE Dependencies:http://sourceforge.net/projects/ogre/files/ogre-dependencies-vc++/1.7/
(3)OGRE 工程向导:http://download.youkuaiyun.com/detail/sangni007/5185193
(4)cmake:http://www.cmake.org/cmake/resources/software.html
2.配置步骤:
(1)将OGRE SDK解压到你要安装的目录(例如:G:\Ogre),解压完成后:G:\Ogre\OgreSDK_vc10_v1-8-1,确认环境变量多了一项OGRE_HOME:G:\Ogre\OgreSDK_vc10_v1-8-1;
(2)解压OGRE Dependencies到G:\Ogre\OgreSDK_vc10_v1-8-1目录下,会发现G:\Ogre\OgreSDK_vc10_v1-8-1、目录下多了一个Dependencies文件夹,在\Dependencies\src下打开OgreDependencies.VS2010.sln,分别在Debug和Release下编译(生成解决方案)
OGRE Dependencies是Ogre进行编译时需要的支持文件,一般包括OIS库,CG库,GUI库,这些库在Ogre中均经常用到。如果缺少这些文件,则源码无法进行编译,后期编译出来的Ogre也无法使用OIS、CG、GUi等。
(3)使用Cmake 编译 OGRE SDK
两下Configure,一下Generate:提示Generate Done,成功。
(4)回到OGRE SDK目录,运行OGRE.sln,编译(生成解决方案),然后将SampleBrowser设为启动项,运行查看这些有趣的Demo。下面是一个demo的截图:
这有两点要特别注意:<1>将SampleBrowser设为启动项,原来是默认ALL_BUILD为启动项; <2>一定要回到OGRE SDK目录运行SDK自带的那个OGRE.sln,而不是到cmake build的目录下,我在这里纠结了好久,一直编译cmake build的目录下的OGRE.sln,编译成功,但是运行SampleBrowser能启动但是里面的sample列表时空的,查看不了别的demo,让我上蹿下跳的扒拉了好久,终于在ogre的国外论坛上找到了问题所在(再一次的敬仰google的强大,技术资料也面临被和谐的悲哀啊~)。
附:OGRE SampleBrowser框架解析
(5)安装Ogre工程向导,解压,安装Ogre_VC10_AppWizard_1.8.0.exe到SDK目录下。启动VS2010:
新建项目就可以看得OGRE的工程模版了:
设置好之后点击“确定”:
点击Finish即可。最后,编译运行,效果如下图:
======================================================================
OGRE的配置到此完成,终于开启OGRE的编程之旅了。
“伟大航路,我把世界上的一切都放在了那里,有种的话就去领取吧”
在Windows下VS2010下对Ogre项目的配置。(另外的方案是使用CodeBlocks的Mingw来进行,比较复杂,此处不介绍。)
1.安装OgreSDK
1) 首先,在Ogre3D的官网上下载OgreSDK for vs2010 :https://sourceforge.net/projects/ogre/files/ogre/1.7/OgreSDK_vc10_v1-7-4.exe/download ,下载完成后对其进行安装。
2) 在计算机中配置一个全局的环境变量OGRE_HOME,指向刚刚安装的SDK目录。
2.配置Ogre项目
1) 创建项目
在VS2010中新建一个项目,选择类别为Win32 Project ,Empty Project即可,在新项目中加入一个main.cpp文件,内容复制为Ogre标准模版文件(可由Ogre Application Wizard生成,在CodeBlocks中直接集成,VS2010需要安装即可)。
2) 配置Ogre相关目录
a). Include Directory
选择Project->Properties,展开其中的Configuration Properties,选择其中C/C++项的General,在其中的Additional Include Directories中加上OgreSDK\Ogre目录,Ogre目录中的include目录和Ogre中内置的Boost目录。
b). Lib Directory(分为Debug和Release两个版本)
选择Configuration:Debug或者Release:
选择Linker的General,在其中的Additional Library Directories里加入Ogre的lib\Debug(Release)目录,和内置的Boost的lib目录。
c). Dependencies(分为Debug和Release两个版本)
选择Linker-> Input,修改其中的Additional Dependencies,其中
Debug:修改加入OgreMain_d.lib;OIS_d.lib
Release:修改加入OgreMain.lib;OIS.lib
3) 修改Build Events
由于编译出来的项目文件如:OgreExample.exe需要使用OgreMain.dll和OIS.dll等动态库,而这些库都在OgreSDK\bin目录下,直接执行OgreExample.exe会导致程序出错,为了解决这个问题,有两个办法:
a). 直接将需要的dll文件拷贝到项目目录下的debug\release文件夹下。(更一般的做法是把所有的OgreSDK\bin下的文件(debug\release)全部拷贝到项目目录下)
b). 使用修改build events的方式
这种方式也分为debug和release两个版本,需要分开配置,不过可以使用一样的配置,主要思想是将生成的目标文件OgreExample.exe放到OGRE_HOME\bin\debug(release)目录下进行执行。方式主要有两步:
1. 是修改Properties -> Build Events ,修改其中的Post-Build Event,Command Line,加入如下命令:
copy "$(OutDir)$(TargetFileName)" "$(OGRE_HOME)/bin/debug/"
此命令就是将生成的文件拷贝到目标OGRE\bin\debug(release)的命令,如果是release的话将上面debug换成release即可
2. 修改(Debug或Release的)Debugging的Command和Working Directory
Command:即在使用Debugging时,执行的命令,修改为$(OGRE_HOME)\bin\debug\$(ProjectName).exe
Working Directory:即在使用Debugging时,执行上述命令的工作目录,修改为$(OGRE_HOME)\bin\debug
通过以上的配置,我们简单的Ogre项目就可以通过编译并执行了,关于设置就说到这里,下次会对Ogre源码中包含的ExampleApplication样例进行说明并对Ogre中的一些核心对象进行介绍。