| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
|---|
| 2 | |
|---|
| 3 | <html> |
|---|
| 4 | <head> |
|---|
| 5 | <meta name="generator" content= |
|---|
| 6 | "HTML Tidy for Linux/x86 (vers 1st September 2003), see www.w3.org"> |
|---|
| 7 | <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> |
|---|
| 8 | <link rel="stylesheet" type="text/css" href="../../../boost.css"> |
|---|
| 9 | |
|---|
| 10 | <title>Boost.Build - vc-8_0 toolset</title> |
|---|
| 11 | </head> |
|---|
| 12 | |
|---|
| 13 | <body link="#0000FF" vlink="#800080"> |
|---|
| 14 | <table border="0" cellpadding="7" cellspacing="0" width="100%" summary= |
|---|
| 15 | "header"> |
|---|
| 16 | <tr> |
|---|
| 17 | <td valign="top" width="300"> |
|---|
| 18 | <h3><a href="http://www.boost.org"><img height="86" width="277" alt= |
|---|
| 19 | "C++ Boost" src="../../../boost.png" border="0"></a></h3> |
|---|
| 20 | </td> |
|---|
| 21 | |
|---|
| 22 | <td valign="top"> |
|---|
| 23 | <h1 align="center">Boost.Build</h1> |
|---|
| 24 | |
|---|
| 25 | <h2 align="center">vc-8_0 toolset</h2> |
|---|
| 26 | </td> |
|---|
| 27 | </tr> |
|---|
| 28 | </table> |
|---|
| 29 | <hr> |
|---|
| 30 | |
|---|
| 31 | <h2>Introduction</h2> |
|---|
| 32 | |
|---|
| 33 | <p>Boost.Build's <a href="vc-8_0-tools.jam">vc-8_0</a> toolset supports the |
|---|
| 34 | Microsoft <a href="http://msdn.microsoft.com/visualc/" target="_blank">Visual C++</a> .NET |
|---|
| 35 | 2005 (Visual Studio or Express edition). This toolset is an |
|---|
| 36 | extention to the <code><a href="msvc-tools.html">msvc</a></code> toolset |
|---|
| 37 | and is useful for when you need to have access to several versions of |
|---|
| 38 | Visual C++.</p> |
|---|
| 39 | |
|---|
| 40 | <h2>Configuration Variables</h2> |
|---|
| 41 | <p>The <code>vc-8_0</code> toolset responds to |
|---|
| 42 | the following variables which can be set in the environment or configured on |
|---|
| 43 | the jam command-line using <code>-s<i>VARIABLE_NAME</i>=</code><i>value</i>: |
|---|
| 44 | </p> |
|---|
| 45 | |
|---|
| 46 | <table border="1" summary="settings"> |
|---|
| 47 | <tr> |
|---|
| 48 | <th>Variable Name</th> |
|---|
| 49 | |
|---|
| 50 | <th>Semantics</th> |
|---|
| 51 | |
|---|
| 52 | <th>Default</th> |
|---|
| 53 | |
|---|
| 54 | <th>Notes</th> |
|---|
| 55 | </tr> |
|---|
| 56 | |
|---|
| 57 | <tr> |
|---|
| 58 | <td><code>VC80_ROOT</code></td> |
|---|
| 59 | |
|---|
| 60 | <td>Path to installation of VC8</td> |
|---|
| 61 | |
|---|
| 62 | <td> |
|---|
| 63 | <code>C:\Program Files\Microsoft Visual Studio 8\VC</code></td> |
|---|
| 64 | |
|---|
| 65 | <td>If <code>MSVCDir</code> is set in the environment, the toolset will |
|---|
| 66 | assume <code>VCVARS32.BAT</code>has already been called, and will |
|---|
| 67 | ignore this variable.</td> |
|---|
| 68 | </tr> |
|---|
| 69 | </table> |
|---|
| 70 | <h3>Note about warnings</h3> |
|---|
| 71 | <p>The implementation of the standard C++ library bundled with |
|---|
| 72 | Visual C++ .NET 2005 might issue a number of spurious |
|---|
| 73 | warnings <i>feature is deprecated</i> when using Boost headers. The |
|---|
| 74 | warnings come from the "Safe" C++ Library, which labels many |
|---|
| 75 | standard C and C++ library constructs as deprecated when in fact |
|---|
| 76 | they may be used safely and |
|---|
| 77 | correctly. Define <code>_SCL_SECURE_NO_DEPRECATE</code> globally to |
|---|
| 78 | eliminate these errors. Alternatively, you can enclose all includes |
|---|
| 79 | of Boost headers and C++ standard library headers with <code>#pragma |
|---|
| 80 | warning(disable:4996)</code>, as demonstrated below:<br><br> |
|---|
| 81 | |
|---|
| 82 | <pre> |
|---|
| 83 | #pragma warning(push) |
|---|
| 84 | #pragma warning(disable : 4996)<br> |
|---|
| 85 | #include <vector> |
|---|
| 86 | #include <algorithm> |
|---|
| 87 | #include <boost/shared_ptr.hpp> |
|---|
| 88 | #include <boost/noncopyable.hpp> |
|---|
| 89 | #include <boost/array.hpp><br> |
|---|
| 90 | #pragma warning(pop)<br> |
|---|
| 91 | </pre> |
|---|
| 92 | </p> |
|---|
| 93 | <h3>Note about Visual C++ 2005 Express Edition</h3> |
|---|
| 94 | <p>Visual C++ 2005 Express Edition is distributed <i>without</i> Windows API |
|---|
| 95 | headers and libraries (that is Platform SDK). These headers and libraries |
|---|
| 96 | are <i>required</i> to build and use boost on Windows and can be |
|---|
| 97 | <a href="http://msdn.microsoft.com/platformsdk" target="_blank"> |
|---|
| 98 | downloaded from Microsoft web site</a>, which also provides |
|---|
| 99 | <a href="http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/" target="_blank"> |
|---|
| 100 | installation instruction</a>. The only required component of |
|---|
| 101 | Platform SDK is "Microsoft Windows Core SDK". After installation is |
|---|
| 102 | completed, you will need to manually edit <code>vsvars32.bat</code> |
|---|
| 103 | file in <code>%VS80COMNTOOLS%</code> directory (default is |
|---|
| 104 | <code>C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\</code> ) |
|---|
| 105 | and append full path to Platform SDK <code>include</code>, |
|---|
| 106 | <code>lib</code> and <code>bin</code> subdirectories to |
|---|
| 107 | <code>INCLUDE</code>, <code>LIB</code> and <code>PATH</code> |
|---|
| 108 | environment variables that are set in this file, respectively. |
|---|
| 109 | Alternatively, you might install Platform SDK to directory |
|---|
| 110 | <code>%VC80_ROOT%\PlatformSDK</code> (which usually resolves to |
|---|
| 111 | <code>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK</code> ), |
|---|
| 112 | because this directory name is apparently preconfigured in default |
|---|
| 113 | installation of Visual C++ 2005 Express.</p> |
|---|
| 114 | |
|---|
| 115 | <p>Boost build will call <code>vsvars32.bat</code> batch file |
|---|
| 116 | (indirectly through <code>%VC80_ROOT%\bin\vcvars32.bat</code>) in |
|---|
| 117 | order to set environment variables that are required by Visual C++ compiler |
|---|
| 118 | and linker if <code>MSVCDir</code> enrironment variable is not set. |
|---|
| 119 | If you set <code>MSVCDir</code> environment variable in your computer |
|---|
| 120 | configuration or any other batch file executed before boost build is |
|---|
| 121 | commenced, please make sure to adjust <code>INCLUDE</code> and |
|---|
| 122 | <code>LIB</code> accordingly in order to enable Visual C++ to use Platform SDK headers and libraries.</p> |
|---|
| 123 | |
|---|
| 124 | <p>Please note that boost <i>does not support</i> Visual C++ 2005 |
|---|
| 125 | projects that are targeted on CLR platform. Currently the only supported |
|---|
| 126 | platform for Visual C++ line of compilers is Win32. This does not preclude |
|---|
| 127 | building GUI applications that use boost, because Win32 supports development |
|---|
| 128 | of Windows GUI applications, even though Visual C++ 2005 Express |
|---|
| 129 | lacks ATL, MFC or Windows application project template. |
|---|
| 130 | If you need GUI framework that can be used with Visual C++ 2005 Express, try |
|---|
| 131 | <a href="http://www.torjo.com/win32gui/" target="_blank">Win32 GUI</a> |
|---|
| 132 | or <a href="http://smartwin.sourceforge.net/" target="_blank">SmartWin++</a> |
|---|
| 133 | or <a href="http://dir.groups.yahoo.com/group/wtl/" target="_blank">WTL</a> |
|---|
| 134 | or <a href="http://www.google.com/search?q=win32+GUI+framework" target="_blank">many others</a> |
|---|
| 135 | .</p> |
|---|
| 136 | <hr> |
|---|
| 137 | |
|---|
| 138 | <p>Revised |
|---|
| 139 | <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->23 November, 2005<!--webbot bot="Timestamp" endspan i-checksum="39361" --></p> |
|---|
| 140 | |
|---|
| 141 | <p>Copyright © Dave Abrahams 2002, Bronek Kozicki 2005.</p> |
|---|
| 142 | |
|---|
| 143 | <p><small>Distributed under the Boost Software License, Version 1.0. (See |
|---|
| 144 | accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or |
|---|
| 145 | copy at <a href= |
|---|
| 146 | "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> |
|---|
| 147 | </body> |
|---|
| 148 | </html> |
|---|
| 149 | |
|---|