2012-02-27 3 views
0

こんにちは、読んでいただきありがとうございます。boost :: serializationを使用してライブラリとリンクするときの膨大なコンパイル時間

私は約200種類のクラスでboost :: serializationを使用して動的ライブラリを持っています。私は、私のプログラムでは、次のようになりますヘッダ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ファイルにプリコンパイルされたヘッダを追加するようです。

コンパイル時間をどのように短縮できるか考えていますか?メッセージエクスポートのヘッダーを並べ替えることは可能ですか?

あなたは簡単に ".H *クラッセ" から一般的、定型的なコードを削除することができます...

ローランド

+0

は、我々は正確に同じ問題を抱えています。あなたは解決策を見つけましたか? – cdunn2001

答えて

-1

おそらく役立つだろうサンプルコードを見て、事前にありがとう、しかし?

同じファイルの複数のインクルードを防ぐためにガードを使用しますか?ただ、いくつかの提案

// 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

二重の下線は使用できません。 –

+0

私はすでにインクルードガードを使用しています。共通のコードを避けるために、すべてのclassxファイルに共通の基本クラスがあります。ありがとう – rkohser

関連する問題