转载: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 目录:
包含文件:
F:\cvshome\ogrenew\OgreMain\include
F:\cvshome\ogrenew\Dependencies\include
库文件:
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" ,然后确定:
- (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" ,然后确定;
- (5) 这时候又弹出 "Win32 应用程序向导" 面板,点击左栏的 [应用程序设置] 按钮切换选项卡,勾选 "空项目" 复选框,然后完成:
OK.下面向新项目 SkyPlane_01 添加代码:
- (1) 把下列文件复制到 E:\Desktop\Learning\OGRE\Samples\SkyPlane_01 目录下:
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
在上面的四个文件中, 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 上不能用。