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對項目進行第一次編譯,此時會生成預編譯處理的XXX.pch文件(第一次編譯速度仍很慢),

文件中包含了大量的編譯好的信息,其中XXX爲項目名字。生成之後,當你再次修改代碼進行重新編譯時

(若編譯器不支持自動更改,請將“預編譯頭”改爲“使用(/Yu)"),不會重新生成 XXX.pch文件,

之後編譯器自動對其進行鏈接,然後執行,因此大大提高了編譯的處理速度。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章