现在的位置: 首页 > 综合 > 正文

编译OgreOde Ogre1.7

2018年05月05日 ⁄ 综合 ⁄ 共 4655字 ⁄ 字号 评论关闭

             Ogre是一个三维图形渲染引擎,Ode是一个开源动态物理引擎,Ogre可以与Ode结合在一起使用,而结合二者的方法有两种,一是OgreOde,二是OdeNet。

             OgreOde:http://www.ogre3d.org/tikiwiki/OgreODE

             OdeNet:http://www.ogre3d.org/tikiwiki/OdeNet

             本文采用了OgreOde的方法。下面是编译的具体过程。

 

            配置环境:

           VS2008 with SP1

           Ogre SDK 1.7.1

           Ode-0.11.1,下载地址:http://www.ode.org/download.html

           OgreOde source,下载地址:https://ogreaddons.svn.sourceforge.net/svnroot/ogreaddons/trunk/ogreode/ (这个是用SVN下载的,在后面会讲到)

 

一、安装VS2008及Ogre SDK 1.7.1。这个已经讲过了。

二、安装Ode-0.11.1

1、ODE官方网站给出的是源文件,我们需要对源文件进行编译才可。假设我们将下载的Ode解压到C:\OGRE1-7-1\ODE\ode-0.11.1目录下。

(1)开始-运行,输入cmd,进入命令行,使用命令进入Ode目录:cd C:\OGRE1-7-1\ODE\ode-0.11.1\build

(2)运行:premake4 vs2008(该命令具体选项可通过$ premake4 --help查看)

(3)在该目录下就会出现vs2008目录,然后用VS2008进行编译就OK了!

注意:VS2008中,生成-配置管理器,编译选项中有以下8项:debugdoubledll、debugdoublelib、debugsingledll、debugsinglelib、releasedoubledll、releasedoublelib、releasesingledll、releasesinglelib。32位的机器选择single编译方式, 64位的选择double, debug、release均可

2、上面的操作只生成了ode工程,要想生成demo程序和drawstuff库文件,则应使用下列命令:premake4 --with-demos --with-tests vs2008

3、最后在C:\OGRE1-7-1\ODE\ode-0.11.1\build下生成vs2008文件,用VS2008重新生成(F7)里面文件,生成目录在F:/ogre/ODE/ode-0.11.1/lib,选择不同的编译方式,依次生成DebugSingleDLL,DebugSingleLib,ReleaseSingleDLL,ReleaseSingleLib

4、上面完成了ODE的编译过程,生成了ODE库文件。现在我们开始编译OgreOde。这个过程有两种方式:一是使用源码版的OgreOde,二是使用OgreOdeSDK。由于OgreOdeSDK最新的版本是2007年6月的,只能支持到Ogre1.4,所以我们选择了源码版。

 

三、编译源码版的OgreOde

1、用SVN下载ogreode,如存放在C:\OGRE1-7-1\ogreode,将ODE目录下的内容复制到ogreode中。SVN如何使用在后面会讲到。下载CMake2.8,安装。这步没有难度,不赘述。

2、运行CMake 2.8主程序,一般是放在安装目录\bin\cmake-gui下,也可以在开始菜单中找到。在Where is the source code:中选择OGREODE所在的文件夹,在本例中是C:\OGRE1-7-1\ogreode,在Where to Build the Binaries: 中选择要存放生成文件的目录,例如C:\OGRE1-7-1\ ogreodebulid。

3、点击"configure",配置选择VS2008,表示使用VS2008编译。

会有错误产生,需要手动配置:

3.1. ODE involved:
ODE_INCLUDE_DIR :  C:\OGRE1-7-1\ODE\ode-0.11.1/include/ode
ODE_LIBRARY_DBG:  C:\OGRE1-7-1\ODE\ode-0.11.1/lib/debugsinglelib/ode_singled.lib
ODE_LIBRARY_REL:   C:\OGRE1-7-1\ODE\ode-0.11.1/lib/releasesinglelib/ode_single.lib
ODE_SOURCE:             C:\OGRE1-7-1\ODE\ode-0.11.1
3.2. OGRE involved:
OGRE_HOME:                C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1
OGRE_BUILD:               C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1
3.3. OIS involved:
OIS_INCLUDE_DIR:    C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1/include/OIS

OIS_LIBRARY_DBG:    C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1/Dependencies/lib/Debug/OIS_d.lib
OIS_LIBRARY_REL:    C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1/Dependencies/lib/Release/OIS.lib

3.4.将OGREODE_DIST和INSTALL_OGRE_RUNTIME勾上

   因为电脑配置不同,以上几步可能只需要修改一些,成功即可。

3.5.点击Generate,这样就生成了sln文件了

 

4、在C:\OGRE1-7-1\ ogreodebulid目录下有新生成的sln文件,点击运行,会打开VS。为使编译成功,需要配置VS。工程上右键,项目属性-->链接器-->输入附加依赖项。DEBUG模式时,添加ode_singled.lib; release模式时,添加ode_single.lib(检查各种类库存和头文件是否包含进来,我这默认已经包含了)。

5、最后选择生成(按F7即可),开始编译。

6、编译完成后,会生成很多文件,存放在C:\OGRE1-7-1\ ogreodebulid\bin\debug,如果是release模式,则是在release模式下。

7、进入到exe文件所在的目录,即C:\OGRE1-7-1\ ogreodebulid\bin\debug,可以看到三个exe:Demo_GranTurismOgre.exe,Demo_Landscape.exe,Demo_SimpleScenes.exe。运行第一个demo,即Demo_GranTurismOgre.exe。

8、运行过程中会产生错误,缺少文件,这些文件都是运行Ogre程序时需要的文件,所以可以从Ogre文件夹下复制,dll文件在C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1\bin\debug下可以找到,resource_d.cfg和plugins_d.cfg也在这个目录下,h文件是头文件,可以在头文件目录中找到:C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1\include。

9、仅仅把文件复制过去会出现资源文件无法定位的问题,需要修改resource_d.cfg文件,将它里面的../../这种相对目录全部修改为绝对路径,如图:

要注意这里用的是C:/,而不是在windows系统中通用的C:\。

10、再次运行demo程序,可能会出现这样的问题:

这个异常是因为找不到资源组Bootstrap,Bootstrap资源组是OGRE比较早期的版本使用的名字。打开resource.cfg文件,用中括号表示的就是资源组名,可以看到在1.7.1中有两个资源组,一个叫essential,一个叫general。我们可以查看Ogre1.4的资源配置文件:

这个配置文件中就有了Bootstrap,它定位到一个压缩文件OgreCore.zip。这个文件在我们使用SVN下载的ogreode目录下,你可以在C:\OGRE1-7-1\ogreode\demos\Media\packs目录下找到它,这样我们就可以修改demo程序所在的目录的资源配置文件。将essential改为Bootstrap,并添加Zip=C:/OGRE1-7-1/ogreode/demos/Media/packs/OgreCore.zip行,保存。

11、再次运行demo程序,应该可以看到结果了:

12、第七步中也可以将几个demo演示程序及它们对应的dll和lib文件复制到Ogre的bin/debug目录下,即C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1\bin\debug。这样做的好处是不需要将resource.cfg文件中的相对路径改为绝对路径,而其也不用复制一些dll和h文件。当然,除了复制演示程序,还需要将ogreode/demos/media目录复制到C:\OGRE1-7-1\OgreSDK_vc9_v1-7-1下,让它与Ogre自带的media目录合并。之后第十步的过程不可省略。

 

四、SVN的使用

1、SVN是什么

      svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。

      SVN可以当做一个下载软件来使用,它可以检查当前文件的版本,将其上传到服务器,或者从服务器上获得最新版本的文件来更新本地文件,来实现文件版本的同步。

2、下载并安装SVN

       目前在国内用的比较多的是TortoiseSVN,在百度上搜索此软件并下载,是个压缩包,压缩包中包含两个文件,一个是它的安装文件,一个是它的语言包文件。

       点击安装文件进行安装,一路next,最后安装完成后要求重启电脑。重新启动电脑后,点击语言包文件将软件汉化为中文,这样使用起来比较方便。

3、使用SVN下载

       SVN安装后,会在电脑的右键菜单中出现它。SVN不是直接运行程序使用的,而是通过右键菜单使用。

       在下载文件存放的目录下,右键—SVN检出(英文是check out),这时就会出现一个对话框,输入你要下载的文件的URL,存放目录是自动生成的,选择“全递归”表示将网站上的文件一直迭代到最底层,点击确定即可开始下载。

4、SVN会开始下载,在目录下可以看到想要存放文件的文件夹,打开它会看到里面有很多文件,文件图标上有一个绿色的对勾,表示是使用SVN同步的文件版本。

 

这样OgreOde就编译完成了!

参考网站:

http://blog.csdn.net/xiaosu123/article/details/5944950

http://www.ogre3d.org/addonforums/viewtopic.php?f=7&t=11903&start=90

抱歉!评论已关闭.