2014-12-05 3 views
7

На dev машине Vista SP1 с установленной только Visual Studio .NET 2003 SP1

- с boost 1.44.0 У меня нет проблем с созданием b2. ехе и bjam.exe использования bootstrap.bat
- с усилением 1.57.0 я получаю сообщение об ошибке при запуске bootstrap.bat:
Boost 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 (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 находится в winioctl.h снабженного VS .NET 2003

Я думаю OS_NT определить отсутствует по какой-то причине?

NB: Boost 1.57.0 windows documentation по-прежнему ссылается VS .NET 2003

ответ

7

У меня WindowsXP SP3 и MSVC 2005 и имели те же самые проблемы. После немного играть вокруг я добавил следующее ЦСИ/двигатель/jam.h:

#ifdef NT 

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

А также я использовал командную строку MSVC, чтобы все установки для MSVC

+0

Это исправление работал большой с видео Studio 2003. К сожалению, следующий шаг не удался; ". \ b2 toolset = msvc-7.1" начал работать, но не удалось с несколькими сообщениями об ошибках. Мое впечатление, что Visual C++ 7.1 просто не поддерживается для создания библиотек больше, хотя компиляция моих проектов, в которых используются только заголовки Boost 1.57.0, до сих пор работала нормально. –