到目前为止,我在多个平台上遇到过这种情况(Mac OS 10.10,Solaris Sparc 10,Debian 7)。当我尝试使用b2编译boost时,它会选择默认架构。如果我想切换架构,没有任何反应。这是我尝试过的命令。在Windows上,这很好。
OSX :
./b2 architecture=combined address-model=32_64 install --prefix=./osx/clang/universal
./b2 architecture=combined address-model=32_64
./b2 --architecture=combined --address-model=32_64 install --prefix=./osx/clang/universal
在这种情况下,它总是试图构建64位。
Solaris / Linux操作系统:
./b2 install --prefix=./<plaform>/<compiler>/<bitness> address-model=64
./b2 install address-model=64 --prefix=./<plaform>/<compiler>/<bitness>
./b2 address-model=64 install --prefix=./<plaform>/<compiler>/<bitness>
./b2 install --prefix=./<plaform>/<compiler>/<bitness> architecture=x86 address-model=64
在这种情况下,它总是构建32位。
我使用bootstrap.sh删除并重建b2,用于我尝试使用的每个编译器和平台。
我需要更改或设置其他内容吗?我找不到任何关于此的好文件。
更新:OSX看起来像architecture=combined
意味着强大的powerpc和x86芯片架构。没有它试过,仍然没有变化。同样,即使将标签设置为组合,它仍然声称它仅用于x86架构。在编译器部分下找到了信息here。
答案 0 :(得分:0)
如果你也指定了cxxflags = -m32,那么它应该有效。