OGRE之跳出漫長的編譯等待

來源:互聯網
上載者:User

標籤: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目標檔案,之後對其進行連結,然後執行,

因此大大提高了編譯的處理速度。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.