簡體   English   中英

在64位Mac OS X El Capitan上以32位構建並安裝Boost 1.60

[英]Build and install Boost 1.60 in 32 bit on a 64 bit Mac OS X El Capitan

我有一個使用32位Boost庫(1.48)的應用程序。 boost的1.48版本是在32位平台上預先構建的,並使用較舊的C ++標准。 例如file libboost_wserialization.dylib給出
libboost_wserialization.dylib: Mach-O universal binary with 2 architectures libboost_wserialization.dylib (for architecture i386): Mach-O dynamically linked shared library i386 libboost_wserialization.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64

要求已更改,我想使用C ++ 11和32位鏈接/使用boost 1.60。 我已經下載了1.60 boost,並修改了bootstrap.sh以包含特定於應用程序的lib和include目錄。

我正在運行以下命令

./b2 cxxflags="-std=c++0x -stdlib=libc++" linkflags="-stdlib=libc++" address-model=32 architecture=x86 install

我收到以下錯誤error: unknown target CPU 'i686'所有文件的error: unknown target CPU 'i686' 如果我安裝了默認庫,則無法獲得Boost庫的32位版本,並且應用程序無法鏈接。

我如何擺脫這個錯誤? 我正在增強的機器是Mac OS X El capitan 64位。

整個錯誤是

 "clang++" -x c++ -std=c++0x -stdlib=libc++ -O3 -O3 -Wno-inline -Wall -march=i686 -DBOOST_ALL_NO_LIB=1 -DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"." -I"libs/math/src/tr1" -c -o "bin.v2/libs/math/build/clang-darwin-4.2.1/release/address-model-32/threading-multi/atanh.o" "libs/math/build/../src/tr1/atanh.cpp"

...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/address-model-32/threading-multi/atanh.o... clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/address-model-32/threading-multi/cbrt.o error: unknown target CPU 'i686'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM