OGRE + MinGW + Code::Blocks环境的搭建
OGRE + MinGW + Code::Blocks环境的搭建
首先,介绍一下这三个名词:
Ogre 是一款开源的图形渲染引擎,它的全名叫(Object-oriented Graphics Rendering Engine),它是由一个核心小组开发并维护,由于它是一款开源引擎,所以它也像Linux一样,被各种不同的团体和组织改造和扩充,并使它能够适应不同的应用领域和拥有更强大的功能。
MinGW 是一个Windows下的编译器(实际上是一系列开发工具)。与Windows下其它编译器不同的是,MinGW与Linux下广泛使用的GNU(基本上)完全兼容,这意味着,在Linux下如何编译源代码,在MinGW中也可以以完全相同的方式编译。
Code::Blocks 是一个开放源码、跨平台的 C/C++ IDE(集成开发环境)。由于它使用 wxWidgets,所以能够支持 Linux 和 Windows 系统。Code::Blocks 使用 GNU C++ 开发,具有开发包和插件支持。
环境安装
- 下载并安装OGRE 1.4.3 SDK for Code::Blocks + MinGW C++ Toolbox
- 下载并安装Mingw C++ Toolbox for the SDK above
- 下载并安装Code::Blocks IDE, without compiler (因为compiler要用上面第二项的)
- 启动Code::Blocks,设定compiler(会自动检测到GCC,即上面的Mingw)。完工。
环境配置
先创建一个工程,由于C::B里内置了OGRE的模板,所以起个工程名就OK了
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 447pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/WANGXU~1/LOCALS~1/Temp/msohtml1/01/clip_image001.png" o:title=""></imagedata></shape>
编译,提示找不到OgreMain_d……….(注意Debug对应_d,Release正常)
这是因为工程默认的target link目录下没有OgreMain_d.dll导致的,所以,在工程属性里改一下:
<shape id="_x0000_i1026" style="WIDTH: 415.5pt; HEIGHT: 270.75pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/WANGXU~1/LOCALS~1/Temp/msohtml1/01/clip_image003.png" o:title=""><font face="Times New Roman" size="3"></font></imagedata></shape>
当然,还有OIS_d,加在这儿:
<shape id="_x0000_i1027" style="WIDTH: 415.5pt; HEIGHT: 324pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/WANGXU~1/LOCALS~1/Temp/msohtml1/01/clip_image005.png" o:title=""><font face="Times New Roman" size="3"></font></imagedata></shape>
不然又会报一堆链接错误
OK啦,现在应该能编译成功了
运行之,铛!一个对话框出来了,说是缺少d3dx9d_??.dll
这说明DirectX版本太老了,如果要_d.dll的话,要去下载DirectX SDK,有点大,无奈,先放弃DirectX渲染方式好了,用OpenGL:
打开OgreSDK/bin/Debug/下的Plugins.cfg
把Plugin=RenderSystem_Direct3D9_d这句用#注释掉
<shape id="_x0000_i1028" style="WIDTH: 267.75pt; HEIGHT: 270pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/WANGXU~1/LOCALS~1/Temp/msohtml1/01/clip_image007.png" o:title=""><font size="3"></font></imagedata></shape>
运行,盼望已久的画面终于出来拉,哈哈
<shape id="_x0000_i1030" style="WIDTH: 375pt; HEIGHT: 353.25pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/WANGXU~1/LOCALS~1/Temp/msohtml1/01/clip_image009.png" o:title=""><font size="3"></font></imagedata></shape>
<shape id="_x0000_i1029" style="WIDTH: 384pt; HEIGHT: 180.75pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/WANGXU~1/LOCALS~1/Temp/msohtml1/01/clip_image011.png" o:title=""><font size="3"></font></imagedata></shape>
为什么不用VisualStudio?因为那是商业软件
为什么不用VS Express?因为用那个还要下载<chmetcnv unitname="m" sourcevalue="400" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"><span lang="EN-US"><font face="Times New Roman">400M</font></span></chmetcnv>的windows SDK
而且配置起来也要麻烦一些
Code::Blocks真的很好用,大家可以用来代替VisualC++,再加上GCC编译器,简直没得说!
OGRE更是现在很热门的一款开源图形引擎,应用范围很广,再加上它是面向对象的,很适合我们来学习,HOHO