在仅安装了 Visual Studio .NET 2003 SP1 的开发机器 Vista SP1 上
- 使用 boost 1.44.0 我使用 bootstrap.bat 生成 b2.exe 和 bjam.exe 没有问题
- 使用 boost 1.57.0 我收到此错误消息时运行 bootstrap.bat :
Building Boost.Build engine
Failed to build Boost.Build engine.
Please consult bootstrap.log for furter diagnostics.
这发生在 cmd.exe 或 Visual Studio .NET 2003 命令提示符下。
我在 boostrap.log 中有这些错误:
builtins.c(1885):错误 C2065:'FSCTL_GET_REPARSE_POINT':未声明的标识符 builtins.c
(1889):错误 C2065:'IO_REPARSE_TAG_SYMLINK':未声明的标识符
builtins.c 包含
#ifdef OS_NT
#include <windows.h>
#ifndef FSCTL_GET_REPARSE_POINT
/* MinGW's version of windows.h is missing this, so we need
* to include winioctl.h directly
*/
#include <winioctl.h>
#endif
#endif
并且 FSCTL_GET_REPARSE_POINT 在 VS .NET 2003 提供的 winioctl.h 中
我猜由于某种原因缺少 OS_NT 定义?
注意:Boost 1.57.0 windows 文档 仍然引用 VS .NET 2003