当你新建一个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对项目进行第一次编译,此时会生成预编译处理的XXX.pch文件(第一次编译速度仍非常慢),
文件里包括了大量的编译好的信息,当中XXX为项目名字。生成之后,当你再次改动代码进行又一次编译时
(若编译器不支持自己主动更改,请将“预编译头”改为“使用(/Yu)"),不会又一次生成 XXX.pch文件,
之后编译器自己主动对其进行链接,然后运行,因此大大提高了编译的处理速度。