在MSVC 2010上使用bjam构建Boost 1.50时出错

Error building Boost 1.50 with bjam on MSVC 2010

本文关键字:Boost 构建 50时 出错 bjam MSVC 2010      更新时间:2023-10-16

在MSVC 2010 上使用bjam构建Boost 1.50

我正在尝试使用MSVC 2010构建最新的Boost(1.50)。我在同一台机器上安装了MSVC 2003和2008(Windows Vista),并成功地使用这两个工具集构建了Boost 1.50。然而,我在msvc 2010上遇到了麻烦。

以下是我调用bootstap.bat后使用的bjam命令:

bjam --without-mpi --without-python --toolset=msvc-7.1 --build-type=complete -d+2
bjam --without-mpi --without-python --toolset=msvc-9.0 --build-type=complete -d+2
bjam --without-mpi --without-python --toolset=msvc-10.0 --build-type=complete -d+2

在构建MSVC 2010时,我收到以下错误消息:

file bin.v2libsexceptionbuildmsvc-10.0releaselink-staticruntime-link-staticclone_current_exception_non_intrusive.obj.rsp
"libsexceptionsrcclone_current_exception_non_intrusive.cpp" -Fo"bin.v2libsexceptionbuildmsvc-10.0releaselink-staticruntime-link-staticclone_current_exception_non_intrusi
ve.obj"    -TP /O2 /Ob2 /W3 /GR /Zc:forScope /Zc:wchar_t /MT /wd4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
-DNDEBUG
"-I."
compile-c-c++ bin.v2libsexceptionbuildmsvc-10.0releaselink-staticruntime-link-staticclone_current_exception_non_intrusive.obj
    call "C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2libsexceptionbuildmsvc-10.0releaselink-staticruntime-link-staticclone_current_exception_non_intrusive.obj.rsp"
Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible
...skipped <pbin.v2libsexceptionbuildmsvc-10.0releaselink-staticruntime-link-static>libboost_exception-vc100-s-1_50.lib for lack of <pbin.v2libsexceptionbuildmsvc-10.0r
eleaselink-staticruntime-link-static>clone_current_exception_non_intrusive.obj...
...skipped <pstagelib>libboost_exception-vc100-s-1_50.lib for lack of <pbin.v2libsexceptionbuildmsvc-10.0releaselink-staticruntime-link-static>libboost_exception-vc100-s-1_
50.lib...
file bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticcodecvt_error_category.obj.rsp
"libsfilesystemsrccodecvt_error_category.cpp" -Fo"bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticcodecvt_error_category.obj"    -TP /O2 /Ob2 /W3
/GR /Zc:forScope /Zc:wchar_t /MT /wd4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
-DBOOST_FILESYSTEM_STATIC_LINK=1
-DBOOST_SYSTEM_STATIC_LINK=1
-DNDEBUG
"-I."
compile-c-c++ bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticcodecvt_error_category.obj
    call "C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticcodecvt_error_category.obj.rsp"
Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible
file bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticoperations.obj.rsp
"libsfilesystemsrcoperations.cpp" -Fo"bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticoperations.obj"    -TP /O2 /Ob2 /W3 /GR /Zc:forScope /Zc:wch
ar_t /MT /wd4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
-DBOOST_FILESYSTEM_STATIC_LINK=1
-DBOOST_SYSTEM_STATIC_LINK=1
-DNDEBUG
"-I."
compile-c-c++ bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticoperations.obj
    call "C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticoperations.obj.rsp"
Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible
file bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticpath.obj.rsp
"libsfilesystemsrcpath.cpp" -Fo"bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticpath.obj"    -TP /O2 /Ob2 /W3 /GR /Zc:forScope /Zc:wchar_t /MT /wd
4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
-DBOOST_FILESYSTEM_STATIC_LINK=1
-DBOOST_SYSTEM_STATIC_LINK=1
-DNDEBUG
"-I."
compile-c-c++ bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticpath.obj
    call "C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2libsfilesystembuildmsvc-10.0releaselink-staticruntime-link-staticpath.obj.rsp"
Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible

除了执行上面描述的命令行之外,我对bjam几乎没有什么经验。我相信一切都设置正确,所有编译器都在PATH环境变量上。例如:

C:Program Files (x86)Microsoft Visual Studio 9.0VCbin
C:Program Files (x86)Microsoft Visual Studio 10.0VCbin

此外,我看不出msvc的bjam配置中哪里定义了'/Ze'和'/Za'。

我还缺少什么吗?

您是否尝试过从Visual Studio命令提示符(位于「开始」菜单上)启动bjam,而不是将编译器添加到路径中?

我从来没有把任何东西放在PATH上——我只是运行它,去提升文件夹,引导和构建。