2012-02-27 89 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