Огромное время компиляции при связывании с библиотекой с использованием boost :: serialization - PullRequest
0 голосов
/ 27 февраля 2012

Привет и спасибо за чтение.

У меня есть динамическая библиотека, использующая 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, чтобы избежать увеличения экспорта?

Заранее спасибо,

Roland

1 Ответ

0 голосов
/ 28 февраля 2012

Просмотр примера кода, вероятно, поможет, но ...

Можете ли вы легко удалить общий шаблонный код из "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---

Всего несколько предложений ...

...