Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boost 1.57.0 bootstrap.bat not working for Visual Studio .NET 2003

On a dev machine Vista SP1 with only Visual Studio .NET 2003 SP1 installed

- with boost 1.44.0 I have no problem to generate b2.exe and bjam.exe using bootstrap.bat
- with boost 1.57.0 I get this error message when running bootstrap.bat :

    Building Boost.Build engine

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

This occurs from cmd.exe or Visual Studio .NET 2003 command prompt.

I have these errors in boostrap.log :

builtins.c(1885) : error C2065: 'FSCTL_GET_REPARSE_POINT' : undeclared identifier
builtins.c(1889) : error C2065: 'IO_REPARSE_TAG_SYMLINK' : undeclared identifier

builtins.c contains

#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

and FSCTL_GET_REPARSE_POINT is in the winioctl.h provided with VS .NET 2003

I guess the OS_NT define is missing for some reason?

NB : Boost 1.57.0 windows documentation still references VS .NET 2003

like image 974
Manuel Rozier Avatar asked Dec 05 '14 16:12

Manuel Rozier


1 Answers

I have WindowsXP SP3 and MSVC 2005 and had the same problems. After a bit of playing around I added the following to the src/engine/jam.h:

#ifdef NT

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

And also I used MSVC command prompt to have everything setup for MSVC

like image 197
eungenue Avatar answered Oct 20 '22 16:10

eungenue