C ++: повысить cpp_dec_float независимо?

Я только что скачал Boost, потому что мне нужна точная арифметика с плавающей точкой, найденная в cpp_dec_float.hpp; Я много искал другие варианты и не мог найти хорошую альтернативу.

Я потратил некоторое время, выясняя, как установить bcpи теперь я наконец все это установил. Я побежал bcp скопировать cpp_dec_float.hpp файл в мой проект, и о чудо! Теперь у меня есть папка Boost 9,5 МБ, которая находится в моей директории приложения C ++. Это не будет приемлемо для моих целей.

Есть ли способ, которым я могу только установить cpp_dec_float библиотека без остатка multiprecision часть? Если нет, кто-нибудь знает о легкий (ОЧЕНЬ важно!), Быстро, поддерживается и (по крайней мере, относительно) недавний библиотека для чисел произвольной точности?

0

Решение

Вы можете скачать Boost не в каталог вашего приложения. Обычно вы устанавливаете Boost для использования со всеми проектами всеми пользователями. Boost.Multiprecision — это библиотека только для заголовков, вам нужны только ее заголовки.

Если вам нужно уменьшить пространство, вы можете попытаться сделать следующее (я не проверял это).

Следуйте стандартным шагам установки Boost:

  1. Загрузите источники Boost, скажем, в папку my_boost
  2. cd my_boost; mkdir build
  3. Запустите ./bootstrap (создаст исполняемый файл bjam для вашей платформы)

Затем попросите Boost настроить только для определенного набора библиотек. Поскольку точность библиотеки зависит от некоторых других, вам может понадобиться указать их все:

  1. bjam —build-dir = build —с-multiprecicsion —with-utility —with-type_traits установить

Вам гарантировано, что не связанные библиотеки не будут созданы. Я не уверен, что несвязанные заголовочные файлы не будут скопированы в Boost include library.

Смотрите «bjam —help» для большего количества опций.

0

Другие решения

Я также заметил, что BCP копирует больше файлов, чем следовало бы. Моя стратегия: собрать его, затем потратить 10 минут на удаление содержимого из вашего Boost Dir, проверяя, все ли время он будет компилироваться. 🙂

0

По вопросам рекламы [email protected]