Как установить Boost на MacOS?

174

Как установить Boost на MacOS? Сейчас я не могу найти BJAM для Mac.

Роберт Гулд
источник
1
Вы всегда можете попробовать как «поиск порта <что угодно>» - в вашем случае повышение - когда не уверены.
gustafbstrom
Я использовал оба макпорта и варево. Я использую их вместе, когда это необходимо ( sudo port -t install X), но в большинстве случаев я предпочитаю варить над макпортами.
Джексонкр

Ответы:

152

Загрузите MacPorts и выполните следующую команду:

sudo port install boost 
штампы
источник
2
если вы предпочитаете запускать вещи через root sudo -s /opt/local/bin/port install boost
Pungs
2
Я не верю, что макпорт мертв, поскольку он вышел из моды.
Йозеф Сальер
3
Что делать brew install boost boost-python?
ilciavo
я предпочитаю macports, а не brew, с brew любой может объединить формулу дерьма и разбить множество библиотек.
μολὼν.λαβέ
1
Как это принято по сравнению с доморощенным ответом? Это не имеет смысла для меня ...
263

Вы можете получить последнюю версию Boost, используя Homebrew .

brew install boost,

jrwren
источник
8
Сколько времени это занимает разных людей? У меня ушло 48 минут с 2 ГБ оперативной памяти, не уверен, какой процессор.
Люк Стэнли
5
@LukeStanley AFAIK Homebrew использует предварительно скомпилированные пакеты («бутылки») для Boost, что делает установку за считанные секунды.
Филипп
8
Вопрос секунд? Я использую Mountain Lion, процессор 2,9 ГГц, 8 ГБ ОЗУ, и установка все еще не завершена через 15 минут.
user1255933
8
Прошло
2
Привет, хороший ответ! Что делать, если я хочу установить boost@1.58? Там нет 1,58 доступны с доморощенного?
GoingMyWay
100

Просто получите исходный код и скомпилируйте Boost себя; стало очень легко. Вот пример текущей версии Boost для текущей macOS на момент написания этой статьи:

  1. Загрузите .tar.gz с https://www.boost.org/users/download/#live
  2. Распакуйте и перейдите в каталог:

    tar -xzf boost_1_50_0.tar.gz
    cd boost_1_50_0

  3. Сконфигурировать (и собрать bjam):

    ./bootstrap.sh --prefix=/some/dir/you/would/like/to/prefix
  4. Телосложение:

    ./b2
  5. Установка:

    ./b2 install

В зависимости от префикса, выбранного на шаге 3, вам может понадобиться выполнить шаг 5, если скрипт пытается скопировать файлы в защищенное место.

snies
источник
3
Лучший маршрут, если вам нужно связать с boost_thread. Стандартные рецепты варева, кажется, не включают его.
Клин Мартин
Если вы хотите установить другие исполняемые файлы, которые зависят от повышения в среде выполнения по умолчанию, хорошо, используйте другие ответы, в любом другом случае используйте этот ответ. Лучше всего знать, когда вы компилируете с boost и как. Вы будете иметь его таким, каким он должен быть. И самое главное, это заставит вас задуматься о том, где будет повышение на сервере Continuous Integration (Build), и если у него также есть сервер развертывания.
wdavilaneto
Можете ли вы объяснить шаг 3? @snies
MAS
@MAS (сегодня я не пробовал. Но файл bootstrap.sh должен поставляться с файлом tar.gz. Он настраивает процесс сборки и создает инструмент сборки bjam. «Префикс» - это общая опция для инструментов сборки, которые будут с префиксом пути установки. Это означает, что если файл будет установлен в / bin, он будет установлен в / prefix / bin при выполнении команды установки. Это можно использовать, чтобы избежать проблем с разрешениями. Например, я устанавливаю по желанию пакеты, которые я использую для разработки в / home / snies / opt / bin вместо / bin, поэтому мне не нужны права root и не
портите
6

Если ваш компилятор не отличается от того, который поставляется с инструментами Mac XCode Dev, просто следуйте инструкциям в разделе 5.1 Руководства по началу работы для вариантов Unix . Конфигурирование и сборка последнего источника не могут быть проще, и на их настройку уходит около 1 минуты, а на компиляцию - 10 минут.

Дэниел Джеймс
источник
5

Похоже, что Fink имеет полный набор пакетов Boost ...

С установленным и работающим финком просто делай

fink install boost1.35.nopython

в терминале и принять зависимости, на которых он настаивает. Или использовать

fink list boost

чтобы получить список различных доступных пакетов.

dmckee --- котенок экс-модератора
источник
5

Установите оба из них, используя доморощенный отдельно.

заваривать буст
установить заваривать bjam

Кондал Рао
источник
5

Установите Xcode из магазина приложений Mac. Затем используйте команду:

  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

все вышеперечисленное установит homebrew и позволит вам использовать brew в терминале

тогда просто используйте команду:

brew install boost

который затем установит библиотеки повышения <your macusername>/usr/local/Cellar/boost

UDAY JAIN
источник
4

Чтобы избежать проблем при компиляции сторонних библиотек, для которых необходимо установить boost в вашей системе, выполните следующее:

sudo port install boost +universal
user1823890
источник
4

Пытаться +universal

Одно замечание: для того , чтобы что сделать разницу вы должны быть построены pythonс +universal, если у вас нет или вы не уверены , что вы можете просто восстановить python +universal. Это относится и к варке , а также MacPorts .

$ brew reinstall python
$ brew install boost

ИЛИ

$ sudo port -f uninstall python
$ sudo port install python +universal
$ sudo port install boost +universal
Jacksonkr
источник
3

Вы можете скачать BJAM для OSX (или любой другой ОС) здесь

Ферруччо
источник
Никаких намеков на то, что такое bjam и почему вы думаете, что ваш ответ исправляет проблему, связанную с этим.
Тыну Самуэль