Как собрать универсальные двоичные файлы boost 1.45?

Как собрать универсальные двоичные файлы boost 1.45? на леопарда / снежного барса?


person Rajeshaz09    schedule 21.01.2011    source источник
comment
вы можете построить их с помощью Macports   -  person nacho4d    schedule 21.01.2011


Ответы (3)


Чтобы создать 4-сторонние универсальные статические двоичные файлы Boost в OSX 10.6, я делаю следующее:

  1. Скачайте Boost с сайта Boost.

  2. Распакуйте архив и cd в папку boost_x_xx_x (где x_xx_x - версия буста, которую вы используете).

  3. Бегать:

    ./bootstrap.sh, а затем

    # The name of the Boost.Jam program changed from "bjam" to "b2" in Boost 1.47.0

    # Replace "b2" with "bjam" if you are compiling a version <= 1.46.1

    ./b2 macosx-version=10.6 macosx-version-min=10.4 architecture=combined threading=multi link=static address-model=32_64

Это скомпилирует все, кроме Boost.MPI (для которого требуется опция --with-mpi). Продукты сборки помещаются в ./stage


ОБНОВЛЕНИЕ: если вы установили XCode 4, необходимо выполнить дополнительный шаг. XCode 4 не поставляется с компиляторами или библиотеками, предназначенными для PowerPC. К сожалению, компиляторы, поставляемые с XCode 4, становятся компиляторами по умолчанию, используемыми Boost. Чтобы принудительно использовать компиляторы, поставляемые с XCode 3, необходимо выполнить дополнительный шаг. Обратите внимание, что вы должны установить XCode 3, если его нет в вашей системе.

После запуска ./bootstrap.sh и перед запуском b2 откройте:

./tools/build/v2/user-config.jam

Добавьте в этот файл следующую строку. Это дает команду boost использовать g ++ - 4.2 из XCode 3:

using darwin : : /Developer-old/usr/bin/g++-4.2 ;
person Mankarse    schedule 04.02.2011

Какие библиотеки вы пытаетесь создать? Здесь говорится (http://www.boost.org/doc/libs/1_45_0/more/getting_started/unix-variants.html), что:

Большинство библиотек Boost предназначены только для заголовков: они полностью состоят из файлов заголовков, содержащих шаблоны и встроенные функции, и не требуют отдельно компилируемых двоичных файлов библиотеки или специальной обработки при компоновке.

Вам нужно построить:

  • Boost.Filesystem
  • Boost.GraphParallel
  • Boost.IOStreams
  • Boost.MPI
  • Boost.ProgramOptions
  • Boost.Python
  • Boost.Regex
  • Boost.Serialization
  • Boost.Signals
  • Boost.System
  • Boost.Thread
  • Boost.Wave

Так какой из них вы пытаетесь построить?

person o1iver    schedule 21.01.2011
comment
я хочу построить Boost.Filesystem и Boost.System в 3 архитектурах i386 ppc x86_64 - person Rajeshaz09; 21.01.2011