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

标签 c++ visual-c++ boost compiler-errors bjam

在 MSVC 2010 上使用 bjam 构建 Boost 1.50

我正在尝试使用 MSVC 2010 构建最新的 Boost (1.50)。我在同一台机器 (Windows Vista) 上安装了 MSVC 2003 和 2008,并且已经能够使用这两个工具集成功构建 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.v2\libs\exception\build\msvc-10.0\release\link-static\runtime-link-static\clone_current_exception_non_intrusive.obj.rsp
"libs\exception\src\clone_current_exception_non_intrusive.cpp" -Fo"bin.v2\libs\exception\build\msvc-10.0\release\link-static\runtime-link-static\clone_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.v2\libs\exception\build\msvc-10.0\release\link-static\runtime-link-static\clone_current_exception_non_intrusive.obj

    call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\exception\build\msvc-10.0\release\link-static\runtime-link-static\clone_current_exception_non_intrusive.obj.rsp"

Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible
...skipped <pbin.v2\libs\exception\build\msvc-10.0\release\link-static\runtime-link-static>libboost_exception-vc100-s-1_50.lib for lack of <pbin.v2\libs\exception\build\msvc-10.0\r
elease\link-static\runtime-link-static>clone_current_exception_non_intrusive.obj...
...skipped <pstage\lib>libboost_exception-vc100-s-1_50.lib for lack of <pbin.v2\libs\exception\build\msvc-10.0\release\link-static\runtime-link-static>libboost_exception-vc100-s-1_
50.lib...

file bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\codecvt_error_category.obj.rsp
"libs\filesystem\src\codecvt_error_category.cpp" -Fo"bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\codecvt_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.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\codecvt_error_category.obj

    call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\codecvt_error_category.obj.rsp"

Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible

file bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\operations.obj.rsp
"libs\filesystem\src\operations.cpp" -Fo"bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\operations.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.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\operations.obj

    call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\operations.obj.rsp"

Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible

file bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\path.obj.rsp
"libs\filesystem\src\path.cpp" -Fo"bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\path.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.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\path.obj

    call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\filesystem\build\msvc-10.0\release\link-static\runtime-link-static\path.obj.rsp"

Command line error D2016 : '/Ze' and '/Za' command-line options are incompatible

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

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

此外,我看不到在 msvc 的 bjam 配置中定义了“/Ze”和“/Za”的位置。

还有什么我想念的吗?

最佳答案

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

我从来没有在 PATH 上放任何东西 - 我只是运行它,转到 boost 文件夹, Bootstrap 和构建。

关于c++ - 在 MSVC 2010 上使用 bjam 构建 Boost 1.50 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11623100/

相关文章:

c++ - C 程序会在 C++ 工作区中编译吗?

java - 通过 Java 运行时运行时,Microsoft C++ 中缺少启动横幅

c++ - 编译器找不到结构,我应该包括什么

c++ - 在 C++ 中为矩阵的第一行赋值

c++ - 使用 boost 创建一个始终返回 true 的 lambda 函数

c++ - 如何在文件中存储图形

c++ - opencv 将较小的图片放入较大的拷贝中无法正常工作

c++ - 指向派生类成员函数的指针,但不是派生(虚拟)函数

c++ - C 库与 WinApi

python - 关于boost-python : dyld: Symbol not found: _PyBaseObject_Type