我想在装有Vista和Visual Studio 2010的ma PC上安装boost库。

首先,从官方网站下载了boost 1.42,并将其解压缩到c:\ boost_1_42_0
然后我调用了bootstrap.bat,但出现了一些错误:

c:\ boost_1_42_0> bootstrap.bat
构建Boost.Jam构建引擎

无法构建Boost.Jam构建引擎。
请查阅bjam.log进行更深入的诊断。

您可以尝试从中获取预构建的二进制文件

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

另外,您可以在http://svn.boost.org上提出问题。
在这种情况下,请附加bjam.log。

在bjam.log中,我发现:

设置使用Microsoft Visual Studio 2010 x86工具的环境。
错误:无法确定VS Common Tools文件夹的位置。
###
###使用'vc10'工具集。
###

c:\ boost_1_42_0 \ tools \ jam \ src>如果存在 bootstrap rd / S / Q bootstrap

c:\ boost_1_42_0 \ tools \ jam \ src> md bootstrap

c:\ boost_1_42_0 \ tools \ jam \ src> cl / nologo / RTC1 / Zi / MTd / Fobootstrap /
/ Fdbootstrap / -DNT -DYYDEBUG -wd4996 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 list.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模块.c字符串.c filesys.c内置文件.c pwd.c class.c
w32_getreg.c native.c模块/set.c模块/path.c模块/regex.c
modules / property-set.c modules / sequence.c modules / order.c
命令
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
编译
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
调试
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
执行文件
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
expand.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
文件
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
glob.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
哈希
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
宏宏
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
headers.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
果酱
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
jambase.c
干扰图
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
list
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
make.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
make1.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
最新消息
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
option.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
输出文件
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
解析
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
产生程式码...
编译中...
路径库
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
正则表达式
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
规则
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
扫描
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
搜索
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
实体
subst.c(1):致命错误C1034:stddef.h:没有包含路径集
时间戳
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
变量
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
modules.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
字符串
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
文件系统
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
Builtins.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
密码
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集

c:\ boost_1_42_0 \ tools \ jam \ src \ strings.h(8):致命错误C1034:
stddef.h:未设置包含路径
w32_getreg.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
本机
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
set.c
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
路径
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
正则表达式
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
属性集
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
产生程式码...
编译中...
序列
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
订单
c:\ boost_1_42_0 \ tools \ jam \ src \ jam.h(88):致命错误C1034:fcntl.h:
没有包含路径集
产生程式码...

因此,我决定下载bjam二进制文件,并将其保存到c:\ boost_1_42_0

然后我调用



但是我遇到很多错误:

调用“C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat” x86> n
ul
cl / Zm800 -nologo @“bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-l
ink-static \ token_ids.obj.rsp“

...失败的compile-c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runti
我链接静态\ token_ids.obj ...
编译c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-link-st
atic \ wave_config_constant.obj
wave_config_constant.cpp
libs \ wave \ src \ wave_config_constant.cpp(17):致命错误C1083:无法打开incl
ude文件:'cstring':没有这样的文件或目录

调用“C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat” x86> n
ul
cl / Zm800 -nologo @“bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-l
ink-static \ wave_config_constant.obj.rsp“

...失败的compile-c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runti
我链接静态\ wave_config_constant.obj ...
common.mkdir bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-link-sta
tic \ cpplexer
common.mkdir bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-link-sta
tic \ cpplexer \ re2clex
编译c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-link-st
atic \ cpplexer \ re2clex \ aq.obj
aq.cpp
libs \ wave \ src \ cpplexer \ re2clex \ aq.cpp(16):致命错误C1083:无法打开包含
de文件:'cstdlib':没有这样的文件或目录

调用“C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat” x86> n
ul
cl / Zm800 -nologo @“bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-l
静态墨水\ cpplexer \ re2clex \ aq.obj.rsp”

...失败的compile-c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runti
我链接静态\ cpplexer \ re2clex \ aq.obj ...
编译c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-link-st
atic \ cpplexer \ re2clex \ cpp_re.obj
cpp_re.cpp
libs \ wave \ src \ cpplexer \ re2clex \ cpp_re.cpp(20):致命错误C1083:无法打开我
包含文件:'ctime':没有这样的文件或目录

调用“C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat” x86> n
ul
cl / Zm800 -nologo @“bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runtime-l
静态墨水\ cpplexer \ re2clex \ cpp_re.obj.rsp”

...失败的compile-c-c++ bin.v2 \ libs \ wave \ build \ msvc-10.0 \ debug \ link-static \ runti
我链接静态\ cpplexer \ re2clex \ cpp_re.obj ...
...由于缺少实例化_cpp_exprgrammar.obj而跳过了libboost_wave-vc100-sgd-1_42.lib ...
...由于缺少libboost_wave-vc100而跳过了libboost_wave-vc100-sgd-1_42.lib
-sgd-1_42.lib ...
...由于缺少以下内容而跳过libboost_date_time-vc100-sgd.lib
libboost_date_time-vc100-sgd-1_42.lib ...
...由于缺少lib而跳过libboost_system-vc100-sgd.lib
boost_system-vc100-sgd-1_42.lib ...
...由于缺少libboost_filesystem-vc100-sgd-1_42.lib而跳过了libboost_filesystem-vc100-sgd.lib ...
...由于缺少libb而跳过libboost_regex-vc100-sgd.lib
oost_regex-vc100-sgd-1_42.lib ...
...由于缺少libb而跳过libboost_graph-vc100-sgd.lib
oost_graph-vc100-sgd-1_42.lib ...
...由于缺少以下内容而跳过libboost_iostreams-vc100-sgd.lib
libboost_iostreams-vc100-sgd-1_42.lib ...
...由于缺少l而跳过libboost_math_tr1-vc100-sgd.lib
ibboost_math_tr1-vc100-sgd-1_42.lib ...
...由于缺少以下内容而跳过了libboost_math_tr1f-vc100-sgd.lib
libboost_math_tr1f-vc100-sgd-1_42.lib ...
...由于缺少以下内容而跳过了libboost_math_tr1l-vc100-sgd.lib
libboost_math_tr1l-vc100-sgd-1_42.lib ...
...由于缺少l而跳过libboost_math_c99-vc100-sgd.lib
ibboost_math_c99-vc100-sgd-1_42.lib ...
...由于缺少以下内容而跳过libboost_math_c99f-vc100-sgd.lib
libboost_math_c99f-vc100-sgd-1_42.lib ...
...由于缺少以下内容而跳过了libboost_math_c99l-vc100-sgd.lib
libboost_math_c99l-vc100-sgd-1_42.lib ...
...由于缺少libboost_program_options-vc100-sgd-1_42.lib而跳过了libboost_program_options-vc100-sgd.lib ...
...由于缺少lib而跳过libboost_python-vc100-sgd.lib
boost_python-vc100-sgd-1_42.lib ...
...由于缺少libboost_serialization-vc100-sgd-1_42.lib而跳过libboost_serialization-vc100-sgd.lib ...
...由于缺少libboost_wserialization-vc100-sgd-1_42.lib而跳过libboost_wserialization-vc100-sgd.lib ...
...由于缺少li而跳过libboost_signals-vc100-sgd.lib
bboost_signals-vc100-sgd-1_42.lib ...
...由于缺少libboost_prg_exec_monitor-vc100-sgd-1_42.lib而跳过了libboost_prg_exec_monitor-vc100-sgd.lib ...
...由于缺少libboost_test_exec_monitor-vc100-sgd-1_42.lib而跳过了libboost_test_exec_monitor-vc100-sgd.lib ...
...由于缺少libboost_unit_test_framework-vc100-sgd-1_42.lib而跳过了libboost_unit_test_framework-vc100-sgd.lib ...
...由于缺少libbo而跳过libboost_wave-vc100-sgd.lib
ost_wave-vc100-sgd-1_42.lib ...
...未能更新1176个目标...
...跳过了1629个目标...
更新了276个目标

你能帮助我吗?

最佳答案

我相信您看到的错误是因为您的环境(PATH ...)设置不正确。

与Unix类操作系统不同,Windows喜欢保持系统PATH干净。 Visual Studio将一个条目添加到名为“Visual Studio CMD”的开始菜单,该菜单会为您设置所有内容。

您应该使用此命令提示符,然后使用cd到boost源代码的位置,然后运行bootstrap.bat。

10-06 01:43