|
|
@@ -3,7 +3,7 @@
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
|
<head>
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
-<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
|
|
|
+<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" />
|
|
|
<title>Boost Getting Started on Windows</title>
|
|
|
<link rel="stylesheet" href="../../rst.css" type="text/css" />
|
|
|
</head>
|
|
|
@@ -14,7 +14,7 @@
|
|
|
<!-- Copyright David Abrahams 2006. Distributed under the Boost -->
|
|
|
<!-- Software License, Version 1.0. (See accompanying -->
|
|
|
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
|
|
|
-<div class="admonition-a-note-to-cygwin-and-mingw-users admonition">
|
|
|
+<div class="admonition admonition-a-note-to-cygwin-and-mingw-users">
|
|
|
<p class="first admonition-title">A note to <a class="reference external" href="http://www.cygwin.com">Cygwin</a> and <a class="reference external" href="http://mingw.org">MinGW</a> users</p>
|
|
|
<p class="last">If you plan to use your tools from the Windows command prompt,
|
|
|
you're in the right place. If you plan to build from the <a class="reference external" href="http://www.cygwin.com">Cygwin</a>
|
|
|
@@ -61,7 +61,7 @@ not supported—they may or may not work.</p>
|
|
|
<div class="section" id="get-boost">
|
|
|
<h1><a class="toc-backref" href="#id28">1 Get Boost</a></h1>
|
|
|
<p>The most reliable way to get a copy of Boost is to
|
|
|
-download <a class="reference external" href="http://www.boost.org/users/history/version_1_66_0.html"><tt class="docutils literal">boost_1_66_0</tt><tt class="docutils literal">.7z</tt></a> or <a class="reference external" href="http://www.boost.org/users/history/version_1_66_0.html"><tt class="docutils literal">boost_1_66_0</tt><tt class="docutils literal">.zip</tt></a> and unpack it to install a complete Boost
|
|
|
+download <a class="reference external" href="http://www.boost.org/users/history/version_1_67_0.html"><tt class="docutils literal">boost_1_67_0</tt><tt class="docutils literal">.7z</tt></a> or <a class="reference external" href="http://www.boost.org/users/history/version_1_67_0.html"><tt class="docutils literal">boost_1_67_0</tt><tt class="docutils literal">.zip</tt></a> and unpack it to install a complete Boost
|
|
|
distribution.<a class="footnote-reference" href="#zip" id="id2"><sup>1</sup></a></p>
|
|
|
<!-- Copyright David Abrahams 2006. Distributed under the Boost -->
|
|
|
<!-- Software License, Version 1.0. (See accompanying -->
|
|
|
@@ -71,7 +71,7 @@ distribution.<a class="footnote-reference" href="#zip" id="id2"><sup>1</sup></a>
|
|
|
<h1><a class="toc-backref" href="#id29">2 The Boost Distribution</a></h1>
|
|
|
<p>This is a sketch of the resulting directory structure:</p>
|
|
|
<pre class="literal-block">
|
|
|
-<strong>boost_1_66_0</strong><strong>\</strong> .................<em>The “boost root directory”</em>
|
|
|
+<strong>boost_1_67_0</strong><strong>\</strong> .................<em>The “boost root directory”</em>
|
|
|
<strong>index.htm</strong> .........<em>A copy of www.boost.org starts here</em>
|
|
|
<strong>boost</strong><strong>\</strong> .........................<em>All Boost Header files</em>
|
|
|
<strong>lib</strong><strong>\</strong> .....................<em>precompiled library binaries</em>
|
|
|
@@ -116,7 +116,7 @@ anything you can use in these directories.</p>
|
|
|
</div>
|
|
|
<p>It's important to note the following:</p>
|
|
|
<ol class="arabic" id="boost-root-directory">
|
|
|
-<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt>) is
|
|
|
+<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt>) is
|
|
|
sometimes referred to as <tt class="docutils literal">$BOOST_ROOT</tt> in documentation and
|
|
|
mailing lists .</p>
|
|
|
</li>
|
|
|
@@ -154,7 +154,7 @@ contains a subset of the Boost documentation. Start with
|
|
|
<h1><a class="toc-backref" href="#id30">3 Header-Only Libraries</a></h1>
|
|
|
<p>The first thing many people want to know is, “how do I build
|
|
|
Boost?” The good news is that often, there's nothing to build.</p>
|
|
|
-<div class="admonition-nothing-to-build admonition">
|
|
|
+<div class="admonition admonition-nothing-to-build">
|
|
|
<p class="first admonition-title">Nothing to Build?</p>
|
|
|
<p class="last">Most Boost libraries are <strong>header-only</strong>: they consist <em>entirely
|
|
|
of header files</em> containing templates and inline functions, and
|
|
|
@@ -228,7 +228,7 @@ int main()
|
|
|
}
|
|
|
</pre>
|
|
|
<p>Copy the text of this program into a file called <tt class="docutils literal">example.cpp</tt>.</p>
|
|
|
-<div class="note" id="command-line-tool">
|
|
|
+<div class="admonition note" id="command-line-tool">
|
|
|
<span id="command-prompt"></span><p class="first admonition-title">Note</p>
|
|
|
<p class="last">To build the examples in this guide, you can use an
|
|
|
Integrated Development Environment (IDE) like Visual Studio, or
|
|
|
@@ -256,7 +256,7 @@ cd <em>path</em>\<em>to</em>\<em>some</em>\<em>directory</em>
|
|
|
</pre>
|
|
|
<p>followed by Return. For example,</p>
|
|
|
<pre class="literal-block">
|
|
|
-cd <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt>
|
|
|
+cd <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt>
|
|
|
</pre>
|
|
|
<p class="last">Long commands can be continued across several lines by typing a
|
|
|
caret (<tt class="docutils literal">^</tt>) at the end of all but the last line. Some examples
|
|
|
@@ -281,7 +281,7 @@ select <em>Properties</em> from the resulting pop-up menu</p>
|
|
|
<li><p class="first">In <em>Configuration Properties</em> > <em>C/C++</em> > <em>General</em> > <em>Additional Include
|
|
|
Directories</em>, enter the path to the Boost root directory, for example</p>
|
|
|
<blockquote>
|
|
|
-<p><tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt></p>
|
|
|
+<p><tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt></p>
|
|
|
</blockquote>
|
|
|
</li>
|
|
|
<li><p class="first">In <em>Configuration Properties</em> > <em>C/C++</em> > <em>Precompiled Headers</em>, change
|
|
|
@@ -319,7 +319,7 @@ Visual Studio compiler. In that window, set the <a class="reference internal" h
|
|
|
directory</a> to a suitable location for creating some temporary
|
|
|
files and type the following command followed by the Return key:</p>
|
|
|
<pre class="literal-block">
|
|
|
-cl /EHsc /I <em>path\to\</em><tt class="docutils literal">boost_1_66_0</tt> <em>path</em>\<em>to</em>\example.cpp
|
|
|
+cl /EHsc /I <em>path\to\</em><tt class="docutils literal">boost_1_67_0</tt> <em>path</em>\<em>to</em>\example.cpp
|
|
|
</pre>
|
|
|
<p>To test the result, type:</p>
|
|
|
<pre class="literal-block">
|
|
|
@@ -387,7 +387,7 @@ the directory where you want Boost.Build to be installed</li>
|
|
|
<p>First, find the toolset corresponding to your compiler in the
|
|
|
following table (an up-to-date list is always available <a class="reference external" href="http://www.boost.org/build/doc/html/bbv2/reference/tools.html">in the
|
|
|
Boost.Build documentation</a>).</p>
|
|
|
-<div class="note">
|
|
|
+<div class="admonition note">
|
|
|
<p class="first admonition-title">Note</p>
|
|
|
<p class="last">If you previously chose a toolset for the purposes of
|
|
|
<a class="reference external" href="../../doc/html/bbv2/installation.html">building b2</a>, you should assume it won't work and instead
|
|
|
@@ -488,8 +488,8 @@ b2 <strong>--build-dir=</strong><a class="reference internal" href="#id13"><em>b
|
|
|
please see the <a class="reference external" href="http://www.boost.org/build/doc/html/bbv2/overview/invocation.html">Boost.Build documentation</a>.</p>
|
|
|
<p>For example, your session might look like this:<a class="footnote-reference" href="#continuation" id="id15"><sup>3</sup></a></p>
|
|
|
<pre class="literal-block">
|
|
|
-C:\WINDOWS> cd <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt>
|
|
|
-<tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt>> b2 <strong>^</strong>
|
|
|
+C:\WINDOWS> cd <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt>
|
|
|
+<tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt>> b2 <strong>^</strong>
|
|
|
More? <strong>--build-dir=</strong>"C:\Documents and Settings\dave\build-boost" <strong>^</strong>
|
|
|
More? <strong>--build-type=complete</strong> <strong>msvc</strong> stage
|
|
|
</pre>
|
|
|
@@ -506,7 +506,7 @@ list</a>.</p>
|
|
|
library binaries in the <tt class="docutils literal">stage</tt><tt class="docutils literal">\</tt><tt class="docutils literal">lib</tt><tt class="docutils literal">\</tt> subdirectory of
|
|
|
the Boost tree. To use a different directory pass the
|
|
|
<tt class="docutils literal"><span class="pre">--stagedir=</span></tt><em>directory</em> option to <tt class="docutils literal">b2</tt>.</p>
|
|
|
-<div class="note">
|
|
|
+<div class="admonition note">
|
|
|
<p class="first admonition-title">Note</p>
|
|
|
<p class="last"><tt class="docutils literal">b2</tt> is case-sensitive; it is important that all the
|
|
|
parts shown in <strong>bold</strong> type above be entirely lower-case.</p>
|
|
|
@@ -524,7 +524,7 @@ be interested in:</p>
|
|
|
<li>choosing a specific build variant by adding <tt class="docutils literal">release</tt> or
|
|
|
<tt class="docutils literal">debug</tt> to the command line.</li>
|
|
|
</ul>
|
|
|
-<div class="note">
|
|
|
+<div class="admonition note">
|
|
|
<p class="first admonition-title">Note</p>
|
|
|
<p class="last">Boost.Build can produce a great deal of output, which can
|
|
|
make it easy to miss problems. If you want to make sure
|
|
|
@@ -607,7 +607,7 @@ build settings.</li>
|
|
|
whose compile configuration is compatible with the rest of your
|
|
|
project.</li>
|
|
|
</ol>
|
|
|
-<div class="admonition-auto-linking admonition">
|
|
|
+<div class="admonition admonition-auto-linking">
|
|
|
<p class="first admonition-title">Auto-Linking</p>
|
|
|
<p>Most Windows compilers and linkers have so-called “auto-linking
|
|
|
support,” which eliminates the second challenge. Special code in
|
|
|
@@ -628,7 +628,7 @@ earlier:</p>
|
|
|
select <em>Properties</em> from the resulting pop-up menu</li>
|
|
|
<li>In <em>Configuration Properties</em> > <em>Linker</em> > <em>Additional Library
|
|
|
Directories</em>, enter the path to the Boost binaries,
|
|
|
-e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt><tt class="docutils literal">\lib\</tt>.</li>
|
|
|
+e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt><tt class="docutils literal">\lib\</tt>.</li>
|
|
|
<li>From the <em>Build</em> menu, select <em>Build Solution</em>.</li>
|
|
|
</ol>
|
|
|
<p><a class="reference internal" href="#test-your-program"><em>skip to the next step</em></a></p>
|
|
|
@@ -638,15 +638,15 @@ e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boos
|
|
|
<p>For example, we can compile and link the above program from the
|
|
|
Visual C++ command-line by simply adding the <strong>bold</strong> text below to
|
|
|
the command line we used earlier, assuming your Boost binaries are
|
|
|
-in <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_66_0</tt><tt class="docutils literal">\lib</tt>:</p>
|
|
|
+in <tt class="docutils literal"><span class="pre">C:\Program</span> Files\boost\</tt><tt class="docutils literal">boost_1_67_0</tt><tt class="docutils literal">\lib</tt>:</p>
|
|
|
<pre class="literal-block">
|
|
|
-cl /EHsc /I <em>path\to\</em><tt class="docutils literal">boost_1_66_0</tt> example.cpp <strong>^</strong>
|
|
|
- <strong>/link /LIBPATH:</strong><strong>C:\Program Files\boost\</strong><strong>boost_1_66_0</strong><strong>\lib</strong>
|
|
|
+cl /EHsc /I <em>path\to\</em><tt class="docutils literal">boost_1_67_0</tt> example.cpp <strong>^</strong>
|
|
|
+ <strong>/link /LIBPATH:</strong><strong>C:\Program Files\boost\</strong><strong>boost_1_67_0</strong><strong>\lib</strong>
|
|
|
</pre>
|
|
|
</div>
|
|
|
<div class="section" id="library-naming">
|
|
|
<h2><a class="toc-backref" href="#id47">6.3 Library Naming</a></h2>
|
|
|
-<div class="note">
|
|
|
+<div class="admonition note">
|
|
|
<p class="first admonition-title">Note</p>
|
|
|
<p>If, like Visual C++, your compiler supports auto-linking,
|
|
|
you can probably <a class="reference internal" href="#test-your-program"><em>skip to the next step</em></a>.</p>
|
|
|
@@ -855,7 +855,7 @@ mailing list</a>.</p>
|
|
|
<li><a class="reference external" href="http://www.boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
|
|
|
<li><a class="reference external" href="../../libs/index.html">Index of all Boost library documentation</a></li>
|
|
|
</ul>
|
|
|
-<div class="admonition-onward admonition">
|
|
|
+<div class="admonition admonition-onward">
|
|
|
<p class="first admonition-title">Onward</p>
|
|
|
<blockquote class="epigraph last">
|
|
|
<p>Good luck, and have fun!</p>
|
|
|
@@ -867,7 +867,7 @@ mailing list</a>.</p>
|
|
|
<colgroup><col class="label" /><col /></colgroup>
|
|
|
<tbody valign="top">
|
|
|
<tr><td class="label"><a class="fn-backref" href="#id2">[1]</a></td><td>We recommend
|
|
|
-downloading <a class="reference external" href="http://www.boost.org/users/history/version_1_66_0.html"><tt class="docutils literal">boost_1_66_0</tt><tt class="docutils literal">.7z</tt></a> and using <a class="reference external" href="http://www.7-zip.org">7-Zip</a> to decompress
|
|
|
+downloading <a class="reference external" href="http://www.boost.org/users/history/version_1_67_0.html"><tt class="docutils literal">boost_1_67_0</tt><tt class="docutils literal">.7z</tt></a> and using <a class="reference external" href="http://www.7-zip.org">7-Zip</a> to decompress
|
|
|
it. We no longer recommend .zip files for Boost because they are twice
|
|
|
as large as the equivalent .7z files. We don't recommend using Windows'
|
|
|
built-in decompression as it can be painfully slow for large archives.</td></tr>
|