cnd*_*cnd 4 c++ boost boost-build b2
我正在尝试boost在64位系统上使用Visual Studio 2013 构建Windows 8.1.
b2 toolset="msvc" address-model=64 -s ZLIB_SOURCE=C:\H\M\zlib --build-type=complete stage
Run Code Online (Sandbox Code Playgroud)
这是完整的输出:
Performing configuration checks
- symlinks supported : no
- junctions supported : yes
- hardlinks supported : yes
- arm : no
- mips1 : no
- power : no
- sparc : no
- x86 : yes
- has_icu builds : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
- iconv (libc) : no
- iconv (separate) : no
- icu : no
- icu (lib64) : no
- message-compiler : yes
- compiler-supports-ssse3 : yes
- compiler-supports-avx2 : yes
- gcc visibility : no
- long double support : yes
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
error: Name clash for '<pstage\lib>boost_system-vc120-mt-1_58.dll'
error:
error: Tried to build the target twice, with property sets having
error: these incompabile properties:
error:
error: - <warnings>all
error: - <architecture>x86 <warnings>on
error:
error: Please make sure to have consistent requirements for these
error: properties everywhere in your project, especially for install
error: targets.
Run Code Online (Sandbox Code Playgroud)
它是什么意思以及如何解决它?
谢谢
重要的提示
构建脚本存在错误;您必须将地址模式和体系结构指定为 b2。我用了:
./b2 address-model=64 architecture=x86来测试这个。
将这些标志添加到b2命令中可以解决问题,而不必排除context和coroutine库(如果您像我一样实际使用这些库,则很方便!)。
自然地,如果您正在构建 32 位库,您希望改为添加address-model=32。