...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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++.
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.BAT has already been called, and will
ignore this variable. |
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)
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)