首页 > 代码库 > OGRE之跳出漫长的编译等待

OGRE之跳出漫长的编译等待


当你新建一个OGRE项目时是否发现那漫长的编译等待时间几乎让你崩溃?

当你修改代码不断进行调试时是否因为那漫长的编译等待而让你烦恼?

如果是,那么请继续往下看,您将受益匪浅。


---------------------------------------------------------------

------------------------------------------------

OGRE是个大家伙,它自带OIS, Overlay等其他系统,因此,当你将其作为你

项目里的图形引擎时,实际上你每次都在编译着这个大家伙,试问这样的编译

速度又怎么会快呢?


因此,我们我们需要对OGRE中需要用到的头文件集中起来,对它进行预编译和

预处理,这样,当我们修改项目时,实际上这些处理好的大家伙就不用再进行编译

了,因此大大的提高了我们的编译速度,跳出了漫长的编译等待。


下面我给出一些具体做法的示例,编译工具采用的是Visual Studio 2013.

1.首先,我们分别新建一个stdafx.h和stdafx.cpp文件,然后把需要用到的库文件包含起来,

做法如下:

//stdafx.h

#pragma  once

#include <Ogre.h>
#include <OIS.h>
#include <SdkTrays.h>
#include <SdkCameraMan.h>
#include <CEGUI/CEGUI.h>
#include <CEGUI/RendererModules/Ogre/Renderer.h>


//stdafx.cpp

#include"stdafx.h"


2.对那些需要用到这些库文件的cpp文件中在开头添加。

#include"stdafx.h"


3.然后点击 项目-》属性-》配置属性-》C/C++-》预编译头,

在“预编译头”中选择“创建(/Yc)",在"预编译头文件“填入"stdafx.h",

如图所示:



4.完成项目后,按下F5对项目进行第一次编译,此时会生成预编译处理的stdafx.obj目标文件(第一次编译速度仍很慢),

生成之后,当你再次修改代码进行重新编译时,不会重新生成stdafx.obj目标文件,之后对其进行链接,然后执行,

因此大大提高了编译的处理速度。