Я пытаюсь собрать библиотеку Boost в универсальный двоичный файл (т. Е. «Жирный» файл, содержащий сборки для архитектур i386 и x86_64).Как сделать Boost dylibs универсальным (i386 и x86_64) на os x?
Загрязнение Интернета и SO Я собрал следующие инструкции.
Скачать импульс (например, от http://www.boost.org/users/download/)
В скачанной папке, введите
./bootstrap.sh
(или, в моем случае./bootstrap.sh --with-libraries=thread
, так как мне нужно только библиотеку потока)типа
./b2 install cxxflags="-arch i386 -arch x86"
Эти шаги устанавливают Boost threa d до /usr/local/lib/
(его стандартное расположение). Полученная статическая библиотека является универсальной бинарной. Все идет нормально.
$ lipo -i /usr/local/lib/libboost_thread.a
Architectures in the fat file: /usr/local/lib/libboost_thread.a are: i386 x86_64
Динамическая библиотека, однако, похоже, была скомпилирована для x86_64.
$ lipo -i /usr/local/lib/libboost_thread.dylib
Non-fat file: /usr/local/lib/libboost_thread.dylib is architecture: x86_64
Я бы хотел, чтобы .dylib был универсальным. Кто-нибудь знает, как я могу скомпилировать его для i386, а также x86_64?