繁体   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