转载:OGRE一起学(三)异地编译示例Demo

第三章 异地编译示例Demo

OGRE 编译成功以后,它本身附带的所有示例也同时编译完毕, exe 文件都在 F:\cvshome\ogrenew\Samples\Common\bin 的 Release 和 Debug 文件夹里。看过这些示例以后,我们可以试着修改这些示例的源代码,这是学习 OGRE 的第一步。

这些示例的源代码都在 F:\cvshome\ogrenew\Samples\ 文件夹下,每个示例的目录下大都有 include 和 scr 两个子文件夹,分别盛装这个示例的 h 和 cpp 源文件。

但是我们最好不要动这里的源文件,我们把整个 F:\cvshome\ogrenew\Samples\ 文件夹复制出来,复制到别的地方,重新创建解决方案、创建和设置项目,重新编译,这样可以使我们熟悉 OGRE 项目的创建和设置办法。

我们把整个 F:\cvshome\ogrenew\Samples\ 文件夹复制到一个新地方,我的是 E:\Desktop\Learning\OGRE\Samples\ ;

然后,在这个目录下,只保留 Common 和 Media 两个目录,其它目录尽数删除; Common 目录是生成的 exe 文件的执行目录,里面的 dll 、 cfg 文件都是运行 exe 文件所必需的,后面我们要设置一下项目的生成目录,让 exe 文件都生成在 E:\Desktop\Learning\OGRE\Samples\Common\bin 目录下; Media 目录是所有图片、模型、材质、声音、脚本等等资源的储存文件夹;

OK. 现在打开 VC.NET ,首先设置全局选项:

  • (1) 在主菜单中选择 [工具]-[选项...] ,打开 "选项" 面板,在左边目录选择 [项目]-[VC++ 目录] ;
  • (2) 在右栏设置 Include 和 Lib 目录:

包含文件:

D:\DXSDK9\Include 
F:\cvshome\ogrenew\OgreMain\include 
F:\cvshome\ogrenew\Dependencies\include 

库文件:

D:\DXSDK9\Lib 
F:\cvshome\ogrenew\OgreMain\lib\Release 
F:\cvshome\ogrenew\OgreMain\lib\Debug 
F:\cvshome\ogrenew\Dependencies\lib\Release 

注意把这几条目录放在目录列表的最上面。

OK.现在我们在 E:\Desktop\Learning\OGRE\Samples\ 建立一个新的空白解决方案:

  • (1) 在主菜单中选择 [文件]-[新建]-[空白解决方案...] ,打开 "新建项目" 面板;
  • (2) 在左边 "项目类型" 栏选择 "Visual Studio 解决方案" ,在右边 “模板" 栏选择 "空白解决方案" ;
  • (3) 在下面的 "位置" 一栏,输入或浏览到 "E:\Desktop\Learning\OGRE" ,在 "名称" 一栏输入解决方案名称 "Samples" ,然后确定:

image:yanchen31.jpg

  • (4) 保存一下,这时候我们打开 E:\Desktop\Learning\OGRE\Samples\ ,就能看到我们新建的同名解决方案文件 Samples.sln 。

OK.现在我们建立我们的第一个 OGRE 项目。在 F:\cvshome\ogrenew\Samples\ 的一系列示例里面,最简单、最入门的是 SkyPlane ,我们就使用它的现成代码来新建一个项目:

  • (1) 在 VC.NET 边栏点击,弹出 "解决方案资源管理器" ,可以看到我们新建的 "Samples" 空白解决方案;
  • (2) 在解决方案 "Samples" 上右击,在弹出的关联菜单中选择 [添加]-[新建项目...] ,打开 "新建项目" 面板;
  • (3) 在左边 "项目类型" 栏选择 "Visual C++ 项目" - "Win32 " ,在右边 “模板" 栏选择 "Win32 项目" ;
  • (4) 在下边 "名称" 栏输入我们的第一个项目的名称:"SkyPlane_01" ,然后确定;

image:yanchen32.jpg

  • (5) 这时候又弹出 "Win32 应用程序向导" 面板,点击左栏的 [应用程序设置] 按钮切换选项卡,勾选 "空项目" 复选框,然后完成:

image:yanchen33.jpg

OK.下面向新项目 SkyPlane_01 添加代码:

  • (1) 把下列文件复制到 E:\Desktop\Learning\OGRE\Samples\SkyPlane_01 目录下:
  • E:\Desktop\Learning\OGRE\Samples\Common\include\ ExampleApplication.h 
    E:\Desktop\Learning\OGRE\Samples\Common\include\ ExampleFrameListener.h 
    F:\cvshome\ogrenew\Samples\SkyPlane\include\ SkyPlane.h 
    F:\cvshome\ogrenew\Samples\SkyPlane\src\ SkyPlane.cpp 
    (2) 在 VC.NET 边栏点击,弹出 "解决方案资源管理器" ,在我们新建的 "SkyPlane_01" 项目上右击,在弹出的关联菜单中选择 [添加]-[添加现有项...] ,选中上边已复制到E:\Desktop\Learning\OGRE\Samples\SkyPlane_01 目录下的四个文件,打开,OK。

在上面的四个文件中, ExampleApplication.h 和 ExampleFrameListener.h 这两个文件是公用的示例框架文件,这两个文件看起来不短,它们的作用是为我们预先搭好了一个简单的应用程序框架,里面包括了选项设置、画面渲染、消息显示、输入控制等简单模块,在一开始我们可以不用深究这两个文件到底写了些什么,只需要调用它们、只需要修改 SkyPlane.cpp 的核心代码。

现在代码还不能顺利编译,我们还需要设置项目属性:

  • (1) 在 VC.NET 边栏点击,弹出 "解决方案资源管理器" ,在我们新建的 "SkyPlane_01" 项目上右击,在弹出的关联菜单中选择 [属性] ,弹出项目属性页,设置下列选项:
Debug 
常规: 输出目录:..\Common\bin\Debug 
调试: 工作目录:..\Common\bin\Debug 
C/C++ 
代码生成: 运行时库:多线程调试 DLL (/MDd) 
链接器 
输入: 附加依赖项:OgreMain_D.lib 
Release 
常规: 输出目录:..\Common\bin\Release 
调试: 工作目录:..\Common\bin\Release 
C/C++ 
代码生成: 运行时库:多线程 DLL (/MD) 
链接器 
输入: 附加依赖项:OgreMain.lib 

OK. 现在可以编译 SkyPlane_01 了,马上就可以亲身体会 OGRE 强大无穷的魅力了!

生成的 exe 文件在 E:\Desktop\Learning\OGRE\Samples\Common\bin 的 Release 和 Debug 文件夹里,为什么非要生成在这个文件夹,因为里面的 cfg 和 dll 是运行程序所必需的,所以路径不能错。

另外, OGRE 有个 APPWizard 可以很方便地用 VC.NET 直接创建 OGRE 项目,可惜在我的 VC.NET2003 上不能用。

取自"http://ogre3d.cn/wiki/index.php?title=%E8%BD%AC%E8%BD%BD:OGRE%E4%B8%80%E8%B5%B7%E5%AD%A6%EF%BC%88%E4%B8%89%EF%BC%89"

posted @ 2009-06-08 13:15  回忆1919  阅读(1271)  评论(0编辑  收藏  举报