2014-12-05 31 views
7

在一个开发机Vista SP1的仅有的Visual Studio .NET 2003 SP1安装

- 与升压1.44.0我没有问题产生B2。 - .exe和bjam.exe使用bootstrap.bat
与升压1.57.0运行bootstrap.bat当我收到此错误信息:
升压1.57.0 bootstrap.bat不工作的Visual Studio .NET 2003

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(1889)::

builtins.c(1885):错误C2065:FSCTL_GET_REPARSE_POINT'错误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定义由于某种原因丢失了吗?

NB:Boost 1.57.0 windows documentation仍然引用VS .NET 2003

回答

7

我的WindowsXP SP3和2005年MSVC和有同样的问题。 有点玩弄后,我添加了以下到src /发动机/ jam.h:

#ifdef NT 

#define _WIN32_WINNT 0x0501 
#define IO_REPARSE_TAG_SYMLINK     (0xA000000CL) 

而且也是我用MSVC命令提示符拥有一切设置为MSVC

+0

该修补程序与Visual伟大的工作Studio 2003.不幸的是,下一步失败了; “。\ b2 toolset = msvc-7.1”开始运行但失败并显示几条错误消息。我的印象是Visual C++ 7.1只是不再支持构建库,尽管编译我的项目只使用Boost 1.57.0头文件目前工作良好。 – 2015-02-11 22:11:27