我想在QtCreator中使用boost。我使用的是Windows 7,并在mingw上安装了QtSDK两栖飞船。当我执行bootstrap.bat时,出现以下错误

C:\boost\boost_1_49_0>bootstrap
Building Boost.Build engine
'cl' is not recognized as an internal or external command,
operable program or batch file.

Failed to build Boost.Build engine.
Please consult bootstrap.log for furter diagnostics.

You can try to obtain a prebuilt binary from

   http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bootstrap.log in that case.

bootstrap.log包含以下内容
###
### Using 'msvc' toolset.
###

C:\boost\boost_1_49_0\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap

C:\boost\boost_1_49_0\tools\build\v2\engine>md bootstrap

C:\boost\boost_1_49_0\tools\build\v2\engine>cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0  command.c compile.c debug.c execnt.c expand.c filent.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.cmodules/sequence.c modules/order.c

我的第一个猜测是,boost尝试使用MSVC而不是mingw进行构建,但是我不知道如何更改这种行为。一些帮助,将不胜感激。

最佳答案

找到此question之后,我尝试了bootstrap.bat gcc,由于未找到gcc而导致错误。简短查看path环境变量会发现QtSDK\mingw\bin的路径丢失了,因为QtSDK没有添加它。

解决方法很简单

path = %PATH%;C:\QtSDK\mingw\bin
bootstrap.bat gcc
.\b2 --toolset=gcc

10-07 16:09