2013-03-15 2 views
0

У меня есть библиотека термодинамических свойств с открытым исходным кодом, которая кодируется на всех C++, и я, наконец, разочаровываюсь в работе с единицами. Поэтому я хотел бы добавить boost :: units в свой основной код, чтобы использовать boost :: units для выполнения всей обработки единицы с нулевыми (?) Вычислительными накладными расходами.Добавление только boost :: единиц в проект C++

Но мне нужен мой код для запуска кросс-платформенного/кросс-компилятора (boost может это сделать), и в идеале не нужно загружать ВСЕ, поскольку это не совсем небольшой пакет.

Так что я хочу знать:

Можно включить лишь небольшую часть повышения? И даже не загружать другие части повышения? Я знаю, что если другие модули повышения не включены, они не будут включены в сборку, но я не хочу даже загружать другие модули.

Также, требуется ли boost :: units для компиляции или это только заголовок?

+0

Это может быть дубликатом [этот вопрос] (http://stackoverflow.com/questions/2150836/how- to-extract-boost-interprocess-library) –

ответ

0

Итак, я понял, как это сделать.Инструкции для окон, но в основном те же на других платформах

  1. Скачать самые современные, подталкивание

  2. cd в источниках наддува папки

  3. bootstrap

  4. .\b2 строить все , идите за чашкой кофе

  5. Скопировал пример кода единицы из http://www.boost.org/doc/libs/1_53_0/doc/html/boost_units/Quick_Start.html и сохранены в sample.cpp

  6. "dist\bin\bcp.exe" --scan sample.cpp boost_units

2

Это только библиотека заголовков, и это зависит от других библиотек boost.

Беглый осмотр показывает, что вам нужно, по крайней мере:

  • повышение :: математика
  • повышение :: MPL
  • повышение :: type_traits
  • подталкивание :: сериализации
  • boost :: config
  • boost :: коммунальные услуги
  • boost: lambda
  • boost :: версия

плюс другие, которые могут включать эти библиотеки. Все эти библиотеки были заголовками только с версии 1.49.

Если вы просто установите boost без его компиляции, вы должны иметь возможность напрямую использовать библиотеки заголовков. После установки вы можете перенести соответствующие заголовки в svn, если процесс установки заголовков на нескольких платформах является обременительным.

+0

Спасибо, я думаю, что самый простой способ проверить зависимости - это просто начать с включения boost :: units и добавления вещей до тех пор, пока они не скомпилируются. И затем проверка этих заголовков обратно на svn, но это означает, что любые обновления не будут втянуты в мое репо. Решения, решения ... – ibell

+1

Для других, которые прибывают сюда, см. Также http://stackoverflow.com/questions/2150836/how-to-extract-boost-interprocess-library – ibell

+0

Итак, я получил эту работу, bcp - это ключ к в ссылке на дублирующий вопрос в моем OP. У меня есть ответ (в основном для моей справки) с инструкциями о том, как это сделать. – ibell

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