Как включить в проект только коды умных указателей BOOST?

Как лучше всего включить в проект только библиотеку интеллектуальных указателей ускорения, не добавляя в проект все библиотеки ускорения?

Мне нужна только библиотека интеллектуальных указателей boost в моем проекте, и я не хочу регистрировать / фиксировать исходные коды 200 МБ (boost 1.42.0) в моем репозитории проекта только для этого. Более того, мой проект Windows Mobile даже не достигает 10% от этого размера!


person Afriza N. Arief    schedule 25.03.2010    source источник
comment
Вам нужно, чтобы Boost вообще находился под контролем версий?   -  person jalf    schedule 25.03.2010
comment
Я первый в команде, кто использует буст, и еще не все знакомы с бустом. Если я зафиксирую что-то, что не компилируется из коробки (отсутствие зависимостей), для них это будет неприятно.   -  person Afriza N. Arief    schedule 25.03.2010
comment
Я думаю, что обычно люди устанавливают Boost на свои устройства. То есть относитесь к нему как к стандартной библиотеке. Тогда нет необходимости совершать коммит, плюс теперь он всегда под рукой.   -  person GManNickG    schedule 25.03.2010
comment
@GMan: Было бы здорово, если бы все в команде привыкли к бусту.   -  person Afriza N. Arief    schedule 25.03.2010


Ответы (2)


Только для библиотеки интеллектуальных указателей у вас есть два варианта.

  1. Скопируйте заголовки, которые вы включаете в свои исходные файлы (shared_ptr.hpp и т. Д.). Затем скопируйте дополнительные файлы, пока проект не будет построен (убедитесь, что структура каталогов сохранена).
  2. Воспользуйтесь утилитой boost bcp. Для больших подмножеств этот инструмент экономит массу времени.

Первый обеспечит добавление наименьшего количества файлов в ваш проект. Последний намного быстрее для любого существенного подмножества повышения, но он, вероятно, будет включать много файлов, которые вам не нужны (заголовки совместимости для платформ, которые ваша программа не поддерживает).

person Sam Harwell    schedule 25.03.2010
comment
Впервые слышу о bcp. +1. - person BenG; 25.03.2010
comment
отлично. возможно, я могу сначала использовать bcp, а затем снова уменьшить его вручную. нет 2, затем нет 1. - person Afriza N. Arief; 25.03.2010

Просто зайдите в папку, содержащую нужный вам код? Попробуйте удалить / переместить / переименовать «все остальное» и посмотрите, какие внешние зависимости имеет библиотека интеллектуальных указателей, возможно, их немного. Я почти уверен, что для этого не требуется какой-либо встроенный код (то есть библиотеки), поэтому просто проверка всех включаемых заголовков кажется правильным решением.

person dash-tom-bang    schedule 25.03.2010
comment
Это, безусловно, дает минимальное количество файлов для включения. Я начал с добавления 1 файла ‹boost / shared_ptr.hpp› и продолжал добавлять все файлы зависимостей один за другим, пока не было добавлено 36 файлов (139 КБ). Для сравнения, bcp shared_ptr дает мне 152 файла (481 КБ). - person Afriza N. Arief; 25.03.2010