2012-11-16 4 views

ответ

6

Использование bcp: http://www.boost.org/doc/libs/1_52_0/tools/bcp/doc/html/index.html

cd $BOOST_DIR 
bcp unordered_map /tmp/TEST 

Теперь/TMP/TEST содержит только вещи, необходимые для unordered_map, в моем случае 15Mb (в отличие от 734Mb для полной библиотеки повышающего)

+1

+1 не знал об этом. Очень удобно. – hmjd

0

Вам нужны хотя бы заголовки, потому что пакеты Boost зависят друг от друга. Вы можете выбрать только нужные файлы заголовков, но это будет действительно боль в шее и займет у вас много часов. Алгоритм:

  1. Включить только boost/unordered_map.
  2. В то время как препроцессор жалуется на заголовок, который не найден:
    • Добавить этот заголовок.
    • Перекомпилировать.

Вы в конечном итоге только с необходимыми заголовками. Но я не вижу никаких преимуществ этого решения.

+0

См. Мой ответ, нет необходимости во всех ручных работах. Кроме того, тот факт, что он занимает всего 2% от размера полной библиотеки, вполне может считаться преимуществом этого решения :) – sehe

+0

Ну, вы, сэр, просто избили меня. :) Я понятия не имел, что такой инструмент существует. – Archie

+0

В любом случае, если вы хотите использовать «ручной» подход (который имеет смысл получить минимальный набор _absolute) требуемых заголовков, вам лучше просто запустить источник через препроцессор, а затем что-то вроде 'egrep '^ # [ 0-9] + "'SpiritParser.i | cut -d'" '-f2 | sort -u | grep boost'. Никаких проб и ошибок не требуется. Обратите внимание, что различные флаги компилятора могут приводить к различным результирующим спискам заголовков. – sehe

 Смежные вопросы

  • Нет связанных вопросов^_^