2012-02-27 88 views
0

您好,感謝您的閱讀。使用boost :: serialization與庫鏈接時編譯時間巨大

我有一個動態庫使用boost :: serialization約200個不同的類。我使用這個庫在我的計劃,由於頭messageExports.h,它看起來像這樣:

#include "classe1.h" 
//... 
#include "classe200.h" 

BOOST_CLASS_EXPORT(ns::classe1); 
//... 
BOOST_CLASS_EXPORT(ns::classe200); 

但包括messaeExports.h的文件需要很長一段時間來編譯,而這每一次我修改。在我使用Qt和qmake時,我嘗試了PRECOMPILED_HEADERS方法,但花費的時間比沒有更多,似乎qmake會將預編譯頭添加到每個obj文件中。

你知道如何減少我的編譯時間嗎?是否有可能重新排列messageExport.h標題以避免boost輸出定義?

謝謝你在前進,

羅蘭

+0

我們有完全相同的問題。你找到解決方案嗎? – cdunn2001 2014-10-23 22:48:13

回答

-1

看到示例代碼可能會有所幫助,但...

你能從刪除常見的樣板代碼 「CLASSE的* .h」 容易嗎?

使用包含警衛來防止多個包含相同的文件?

// File: ---classe1.h--- 
#ifndef __CLASSE1_H_INCLUDED 
#define __CLASSE1_H_INCLUDED 
// Stuff goes here 
// Here 
// Here (ad naseum) 
#endif // __CLASSE1_H_INCLUDED 
// End Of File: ---classe1.h--- 

只是一些建議...

+1

不允許雙下劃線。 – 2012-02-28 15:39:48

+0

我已經使用包括守衛,我有所有的classx文件的公共基類,以避免常見的代碼。謝謝 – rkohser 2012-02-29 08:30:05