Медленное время компиляции с Boost + GCC + предварительно скомпилированный заголовок

Работает: gcc версии 4.2.1 (Apple Inc. build 5664)

Я создал проект Apple XCode с предварительно скомпилированным по умолчанию заголовок. Это кажется очень медленным, и тривиальный основной файл с основной функцией не включает код без кода, который компилируется за 6 секунд после того, как я обновился до нового SSD-накопителя. Я на ноутбуке, но у меня есть оговорки, что переход на рабочую станцию ​​облегчит мою проблему. Если я отключу предварительно скомпилированный заголовок, то основной файл скомпилируется менее чем за секунду. Похоже, что использование предварительно скомпилированного заголовка накладывает штраф на все файлы. Эта задержка заставляет меня избегать компиляции и экспериментов с кодом, который не очень хорош. Вот что я включаю в свой предварительно скомпилированный заголовок:

#pragma once

#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <fstream>
#include <functional>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <valarray>
#include <vector>

#include <boost/smart_ptr/scoped_ptr.hpp>
#include <boost/smart_ptr/scoped_array.hpp>
#include <boost/smart_ptr/shared_ptr.hpp>
#include <boost/smart_ptr/shared_array.hpp>
#include <boost/smart_ptr/make_shared.hpp>  
#include <boost/smart_ptr/weak_ptr.hpp>
#include <boost/smart_ptr/intrusive_ptr.hpp>

#include <boost/regex.hpp>
#include <boost/thread.hpp>
#include <boost/bind/bind.hpp>
#include <boost/bind/apply.hpp>
#include <boost/bind/protect.hpp>
#include <boost/bind/make_adaptable.hpp>

#include <boost/asio.hpp>
//#include <boost/asio/ssl.hpp>


#include <boost/property_tree/ptree.hpp>
#include <boost/random.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/local_time/local_time.hpp>
#include <boost/date_time/time_zone_base.hpp>
#include <boost/circular_buffer.hpp>
#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics.hpp>

Я не включил дух, что действительно увеличивает время компиляции.

7
задан user805547 9 June 2012 в 06:46
поделиться