Build Boost на Mac с помощью Xcode - PullRequest
16 голосов
/ 21 мая 2009

Я недавно познакомился с библиотекой Boost и хотел бы использовать ее в своем проекте Xcode. Но, к сожалению, нет ни HowTo, ни FAQ о том, как это сделать: (

Какова последовательность действий для создания и использования библиотек Boost в XCode?

Ответы [ 8 ]

27 голосов
/ 21 мая 2009

Самый простой способ сделать это - установить MacPorts , затем вы можете установить / собрать Boost с помощью одной команды:

sudo port install boost

Кроме того, вы получаете аналогичный доступ к другим программам с открытым исходным кодом. Единственный недостаток, который я обнаружил, это то, что, как и любая другая система управления пакетами, они не всегда обновлены до последней версии.

Если вы предпочитаете Homebrew в качестве менеджера пакетов, введите команду:

brew install boost
6 голосов
/ 21 мая 2009

Я не знаю, как использовать Boost из XCode (я не программист Mac), но сборка Boost обычно осуществляется с помощью собственного инструмента сборки, bjam.

У них есть руководство по созданию надстройки здесь , и вы можете скачать последнюю версию bjam здесь

Как только он собран, вы ссылаетесь на него из XCode так же, как и в любой другой библиотеке. Boost / include должен быть добавлен к вашему пути include, и библиотеки в boost / lib могут быть использованы для библиотек boost, которые в этом нуждаются.

5 голосов
/ 21 мая 2009

Для создания надстройки на Mac перейдите на страницу начала работы с вариантами Unix (http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html).). Вы не будете использовать Xcode напрямую для выполнения сборки, но после завершения вы можете добавить в эту опцию пути включения и dylib. Проект Xcode.

1 голос
/ 10 февраля 2014

В настоящее время я очень доволен использованием скрипта Pete Goodliffe , который создает фреймворк из исходного пакета Boost для iOS и Mac. Перетащите его в проект, и он работает!

Я храню свою копию сценария здесь:

https://gist.github.com/catnapgames/8912307

Я не помню, если это просто копия оригинала или я где-то получил какую-то модифицированную версию; все, что я могу сказать, это то, что он работал для меня на iOS и Mac с Xcode 5.0.2 и Boost 1.55

1 голос
/ 06 февраля 2013

су - корень

введите пароль пользователя root и запустите его от имени root

/ opt / local / bin / port install boost

Если вы никогда не входили в систему как пользователь root и не забыли свой пароль, выполните шаги по сбросу пароля root

http://support.apple.com/kb/HT1528?viewlocale=en_US&locale=en_US

1 голос
/ 13 октября 2012

Для создания надстройки на iOS 5.1 / 6.0 или OSX 10.8, Даниэль Сефтон (Daniel Sefton) поддерживает утилиту и руководство здесь: http://www.danielsefton.com/2012/03/building-boost-1-49-with-clang-ios-5-1-and-xcode-4-3/

Это дает вам статическую (дружественную к магазину приложений) структуру, которая работает на симуляторе или устройстве без необходимости изменения каких-либо настроек.

Утилита полезна, потому что она автоматизирует процесс установки флагов компилятора для сборок платформы arm (device) x86 (simulator), а затем объединяет их в универсальную библиотеку, используя липо и финальную упаковку в качестве статической среды.

1 голос
/ 12 июля 2011

Я обнаружил, что для сборки Boost 1.41.1 на MacOS необходимо сделать следующее:

  1. Скачать буст 1.46.1 отсюда: http://sourceforge.net/projects/boost/files/boost/1.46.1/
  2. Распаковать файл
  3. Откройте терминал, перейдите в каталог установки и выполните следующие действия:

chmod u + x configure.sh

cd tools / build / v2 / engine / src

chmod u + x build.sh

Затем вернитесь в каталог установки и:

. / Configure.sh

Если это произойдет успешно, вам будет предложено выполнить:

. / Bjam

Вот и все .. по какой-то причине мне нужно было установить эти разрешения вручную, прежде чем они будут работать.

0 голосов
/ 21 мая 2009

Для большинства библиотек наддува не нужно ничего строить, все это в заголовочных файлах. Остальные инструкции: здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...