Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Boost.Build

vc-8_0 toolset

Introduction

Boost.Build's vc-8_0 toolset supports the Microsoft Visual C++ .NET 2005 (Visual Studio or Express edition). This toolset is an extention to the msvc toolset and is useful for when you need to have access to several versions of Visual C++.

Configuration Variables

The vc-8_0 toolset responds to the following variables which can be set in the environment or configured on the jam command-line using -sVARIABLE_NAME=value:

Variable Name Semantics Default Notes
VC80_ROOT Path to installation of VC8 C:\Program Files\Microsoft Visual Studio 8\VC If MSVCDir is set in the environment, the toolset will assume VCVARS32.BAThas already been called, and will ignore this variable.

Note about warnings

The implementation of the standard C++ library bundled with Visual C++ .NET 2005 might issue a number of spurious warnings feature is deprecated when using Boost headers. The warnings come from the "Safe" C++ Library, which labels many standard C and C++ library constructs as deprecated when in fact they may be used safely and correctly. Define _SCL_SECURE_NO_DEPRECATE globally to eliminate these errors. Alternatively, you can enclose all includes of Boost headers and C++ standard library headers with #pragma warning(disable:4996), as demonstrated below:


  #pragma warning(push)

  #pragma warning(disable : 4996)
#include <vector> #include <algorithm> #include <boost/shared_ptr.hpp> #include <boost/noncopyable.hpp> #include <boost/array.hpp>
#pragma warning(pop)

Note about Visual C++ 2005 Express Edition

Visual C++ 2005 Express Edition is distributed without Windows API headers and libraries (that is Platform SDK). These headers and libraries are required to build and use boost on Windows and can be downloaded from Microsoft web site, which also provides installation instruction. The only required component of Platform SDK is "Microsoft Windows Core SDK". After installation is completed, you will need to manually edit vsvars32.bat file in %VS80COMNTOOLS% directory (default is C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\ ) and append full path to Platform SDK include, lib and bin subdirectories to INCLUDE, LIB and PATH environment variables that are set in this file, respectively. Alternatively, you might install Platform SDK to directory %VC80_ROOT%\PlatformSDK (which usually resolves to C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK ), because this directory name is apparently preconfigured in default installation of Visual C++ 2005 Express.

Boost build will call vsvars32.bat batch file (indirectly through %VC80_ROOT%\bin\vcvars32.bat) in order to set environment variables that are required by Visual C++ compiler and linker if MSVCDir enrironment variable is not set. If you set MSVCDir environment variable in your computer configuration or any other batch file executed before boost build is commenced, please make sure to adjust INCLUDE and LIB accordingly in order to enable Visual C++ to use Platform SDK headers and libraries.

Please note that boost does not support Visual C++ 2005 projects that are targeted on CLR platform. Currently the only supported platform for Visual C++ line of compilers is Win32. This does not preclude building GUI applications that use boost, because Win32 supports development of Windows GUI applications, even though Visual C++ 2005 Express lacks ATL, MFC or Windows application project template. If you need GUI framework that can be used with Visual C++ 2005 Express, try Win32 GUI or SmartWin++ or WTL or many others .


Revised 23 November, 2005

Copyright © Dave Abrahams 2002, Bronek Kozicki 2005.

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)