从零开始做3D地图编辑器(三)(基于QT与OGRE)

来源:互联网 发布:数据透视表汇总 编辑:程序博客网 时间:2024/04/28 03:39

三、开始之前的配置

我看到过很多同志在做项目时,直接新建项目后立马就直接开始编程,使用的是VS默认目录,结果在Debug的时候老是找不到dll,找不到资源,然后又花了一堆的时间去查找问题,白白地浪费了不少时间,更有甚者就在此时便失去了继续向下的动力,觉得这个东西太难理解了(一遇挫折就跑)。所以我觉得在每次开始项目前都应该好好地把解决方案配置一下。

我做项目的时候喜欢这种方式,项目目录下面存在以下几个目录。

 

Bin目录不难理解,里面放的是生成的可执行文件,下面又分了DebugReleaseData(Media)等目录,DebugRelease里面放的是执行文件和dll,命名的时候Debug要命名为_d.exe.因为资源文件是共用的,所以资源不应该放在DebugRelease下面,直接放Bin下面就行了。

Docs目录里面放的是相关文档。

Objs目录里面存放编译过程中的中间文件,临时文件。

Scripts目录里面存放解决方案,Sln或其他格式。

SDKS 目录存放第三方库,比如OGREBoostLua等。

Tools目录存放着制作时的一些工具。

剩下那个目录一般改名为Srcsource.

为什么目录要这样分?Bin文件夹分出来有利于你程序的发布,调试。把Objssource分出来,有利于你的源代码版本控制,备份。把解决方案单独拿出来,有利于你的跨平台或换IDESDKS拿出来很重要,因为有可能两年后你的引擎或者底层更新或者大改动过,但是你又需要把两年前的游戏重新编译,如果没有备份好,结果自然不难想像。同样,工具也是这样,比如说加密器算法经常改动,你不备份好你的东西以后都没有办法修改了。

接下来要调整VS来适应这一套目录结构。

第一件事,用文本工具打开修改sln,把它指向source目录里面的工程文件。

# Visual Studio 2008

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Test", "../Source/Test.vcproj", "{83E01383-8BC1-404F-9C25-A9AFFCDBB210}"

EndProject

像上面那样修改为你的工程名.

之后用新的解决方案打开项目,在VS里项目名上右键打开属性。

之后的第一件事情就是修改工作目录,很多同志就是因为没有设定这个目录导致找不到DLL,它在配置属性中调试一栏里面,修改成你当前的Bin所在目录,最好设置为相对目录,Debug模式下是../Bin/Debug,对应的Release下面是../Bin/Release

接着在常规里面修改中间目录和输出目录,我们都修改成../Objs/Debug../Objs/Release

之后在链接器>常规里面修改输出文件,修改成../bin/Debug/$(ProjectName)_d.exe../Bin/Release/$(ProjectName).exe

然后在C/C++>常规中把你要的include添加进去,在链接器>附加库中把你要的lib目录添加进去。

完成这些我们就配置完了。

附:Ogre1.7.1的配置要注意:由于Ogre使用了boost,所以一定要把Ogre自带的Boost目录放进SDKs中,如果要使用OIS,还得包含OIS的头文件路径,库文件和OGRE放在一起,所以不用再设置。

另:如果是在IDE中新建QT ApplicationQT头文件与库的相关配置会自动帮你设置好。你只需要在它的基础上把其他库添加好就行了。