我想使用bjam使用两种不同的编译器MinGW和Visual C++ 2010 Express构建 boost 功能:
bjam toolset=gcc,msvc variant=release link=static,shared threading=multi install
问题是我没有bjam。我在Boost目录中找不到它,而我从其他地方下载的版本是错误的版本。
我应该能够从Boost中的代码构建它,但是如何?我读到我必须从
build.bat
目录启动BOOST_ROOT/tools/jam/src
,但是该目录不存在! 谢谢!
更新:
我已经能够通过以下方式获得bjam:
bootstrap.bat gcc
然后,使用先前的参数启动bjam,我仅获得MinGW的库(.dll和.a)。这是我收到的有关Visual C++ 10的错误消息的一部分:
...
call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj.rsp"
...failed compile-c-c++ bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj...
...
...skipped <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>boost_unit_test_framework-vc100-mt-1_48.dll for lack of <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>compiler_log_formatter.obj...
...
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj
\Microsoft was unexpected at this time.
...
call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj.rsp"
...failed compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj...
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\tss_dll.obj
\Microsoft was unexpected at this time.
...
...skipped <pC:\Boost\lib>boost_thread-vc100-mt-1_48.lib for lack of <pbin.v2\libs\thread\build\msvc-10.0\release\threading-multi>boost_thread-vc100-mt-1_48.lib
...
尝试使用:
bootstrap.bat vc100
我收到错误:“未知工具集:vc100”与:
bootstrap.bat vc10
或者:bootstrap.bat mingw
我得到:“\Microsoft目前是出乎意料的。”更改
project-config.jam
没有帮助。因此,我向前迈出了一大步,但是vc10无法正常工作...
最佳答案
您的boost目录中有一个bootstrap.bat。运行。
它将自动构建bjam(可能使用Visual c++)。