1
0
mirror of https://github.com/boostorg/more.git synced 2025-04-21 17:50:17 +08:00

Merging some of the more obvious changes from RC_1_34_0

[SVN r40714]
This commit is contained in:
Dave Abrahams 2007-11-03 03:25:13 +00:00
parent 52c36c5b95
commit f36f21d0d7
15 changed files with 1442 additions and 367 deletions

View File

@ -45,8 +45,8 @@
<li>Submit a bug report to either
<a href="http://www.boost.org/more/mailing_lists.htm#users">boost-users list</a>,
<a href="http://www.boost.org/more/mailing_lists.htm#main">boost mailing
list</a>, or our <a href="http://sourceforge.net/tracker/?group_id=7586">bug
tracking facility</a> at SourceForge; submitting it to either of the mailing
list</a>, or our <a href="http://svn.boost.org/trac/boost/report">bug
tracking facility</a>; submitting it to either of the mailing
lists is a preferred way - because many of the Boost developers read the
lists on a daily basis, this way you are likely to get a quicker response,
and the discussions that often arise there from (possible) bug reports are

View File

@ -9,73 +9,103 @@
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Boost Formal Review Process</title>
</head>
<title>Boost Formal Review Process</title>
<style type="text/css">
@import ../boost.css
.first {
margin-top: 0 }
.last {
margin-bottom: 0 }
div.attention, div.caution, div.danger, div.error, div.hint,
div.important, div.note, div.tip, div.warning, div.admonition {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title {
color: red ;
font-weight: bold ;
font-family: sans-serif }
div.hint p.admonition-title, div.important p.admonition-title,
div.note p.admonition-title, div.tip p.admonition-title,
div.admonition p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table border="1" bgcolor="#007F7F" cellpadding="2">
<tr>
<td bgcolor="#FFFFFF"><img src="../boost.png" alt=
"boost.png (6897 bytes)" width="277" height="86"></td>
<body bgcolor="#FFFFFF" text="#000000">
<table border="1" bgcolor="#007F7F" cellpadding="2">
<tr>
<td bgcolor="#FFFFFF"><img src="../boost.png" alt=
"boost.png (6897 bytes)" width="277" height="86"></td>
<td><a href="../index.htm"><font face="Arial" color=
"#FFFFFF"><big>Home</big></font></a></td>
<td><a href="../index.htm"><font face="Arial" color=
"#FFFFFF"><big>Home</big></font></a></td>
<td><a href="../libs/libraries.htm"><font face="Arial" color=
"#FFFFFF"><big>Libraries</big></font></a></td>
<td><a href="../libs/libraries.htm"><font face="Arial" color=
"#FFFFFF"><big>Libraries</big></font></a></td>
<td><a href="../people/people.htm"><font face="Arial" color=
"#FFFFFF"><big>People</big></font></a></td>
<td><a href="../people/people.htm"><font face="Arial" color=
"#FFFFFF"><big>People</big></font></a></td>
<td><a href="faq.htm"><font face="Arial" color=
"#FFFFFF"><big>FAQ</big></font></a></td>
<td><a href="faq.htm"><font face="Arial" color=
"#FFFFFF"><big>FAQ</big></font></a></td>
<td><a href="index.htm"><font face="Arial" color=
"#FFFFFF"><big>More</big></font></a></td>
</tr>
</table>
<td><a href="index.htm"><font face="Arial" color=
"#FFFFFF"><big>More</big></font></a></td>
</tr>
</table>
<h1>Boost Formal Review Process</h1>
<h1>Boost Formal Review Process</h1>
<div class="admonition-note admonition">
<p class="first admonition-title">Before Requesting a Formal Review</p>
<p class="last"><b>Read and follow the Boost <a href=
"submission_process.htm">submission process</a>.</b>&nbsp; There are at
least four steps a library author must take before a formal review is
requested.</p>
</div>
<p><a href="#Introduction">Introduction</a><br>
<a href="#Comments">What to include in Review Comments</a><br>
<a href="#Results">Results</a><br>
<a href="#Review_Manager">Notes for Review Managers</a><br>
<a href="#Submitters">Notes for Library Submitters</a><br>
<a href="#Wizard">Review Wizard</a><br>
<a href="#Fast-Track">Fast Track Reviews</a></p>
<p><a href="#Introduction">Introduction</a><br>
<a href="#Comments">What to include in Review Comments</a><br>
<a href="#Results">Results</a><br>
<a href="#Review_Manager">Notes for Review Managers</a><br>
<a href="#Submitters">Notes for Library Submitters</a><br>
<a href="#Wizard">Review Wizard</a><br>
<a href="#Fast-Track">Fast Track Reviews</a></p>
<h2><a name="Introduction">Introduction</a></h2>
<h2><a name="Introduction" id="Introduction">Introduction</a></h2>
<p>Proposed libraries are accepted into Boost only after undergoing a
formal review, where Boost mailing list members comment on their
evaluation of the library.</p>
<p>Proposed libraries are accepted into Boost only after undergoing a
formal review, where Boost mailing list members comment on their evaluation
of the library.</p>
<p>The final "accept" or "reject" decision is made by the <a href=
"#Review_Manager">Review Manager</a>, based on the review comments
received from boost mailing list members.</p>
<p>The final "accept" or "reject" decision is made by the <a href=
"#Review_Manager">Review Manager</a>, based on the review comments received
from boost mailing list members.</p>
<p>Boost mailing list members are encouraged to submit Formal Review
comments:</p>
<p>Boost mailing list members are encouraged to submit Formal Review
comments:</p>
<blockquote>
<ul>
<li>Publicly on the mailing list.</li>
<blockquote>
<ul>
<li>Publicly on the mailing list.</li>
<li>Privately to the Review Manager.</li>
</ul>
</blockquote>
<li>Privately to the Review Manager.</li>
</ul>
</blockquote>
<p>Private comments to a library submitter may be helpful to her or him,
but won't help the Review Manager reach a decision, so the other forms
are preferred.</p>
<p>Private comments to a library submitter may be helpful to her or him,
but won't help the Review Manager reach a decision, so the other forms are
preferred.</p>
<h2>What to include in Review <a name="Comments">Comments</a></h2>
<h2>What to include in Review <a name="Comments" id=
"Comments">Comments</a></h2>
<p>Your comments may be brief or lengthy, but basically the Review
Manager needs your evaluation of the library.&nbsp; If you identify
problems along the way, please note if they are minor, serious, or
showstoppers.</p>
<p>Your comments may be brief or lengthy, but basically the Review Manager
needs your evaluation of the library.&nbsp; If you identify problems along
the way, please note if they are minor, serious, or showstoppers.</p>
<p>The goal of a Boost library review is to improve the library through
constructive criticism, and at the end a decision must be made: is the
@ -87,39 +117,32 @@
<p>Here are some questions you might want to answer in your review:</p>
<ul>
<li>What is your evaluation of the design?<br>
</li>
<ul>
<li>What is your evaluation of the design?<br></li>
<li>What is your evaluation of the implementation?<br>
</li>
<li>What is your evaluation of the implementation?<br></li>
<li>What is your evaluation of the documentation?<br>
</li>
<li>What is your evaluation of the documentation?<br></li>
<li>What is your evaluation of the potential usefulness of the
library?<br>
</li>
<li>What is your evaluation of the potential usefulness of the
library?<br></li>
<li>Did you try to use the library?&nbsp; With what compiler?&nbsp; Did
you have any problems?<br>
</li>
<li>Did you try to use the library?&nbsp; With what compiler?&nbsp; Did
you have any problems?<br></li>
<li>How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?<br>
</li>
<li>How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?<br></li>
<li>Are you knowledgeable about the problem domain?</li>
</ul>
<li>Are you knowledgeable about the problem domain?</li>
</ul>
<p>And finally, every review should answer this question:<br>
</p>
<p>And finally, every review should answer this question:<br></p>
<ul>
<li>Do you think the library should be accepted as a Boost
library?&nbsp; Be sure to say this explicitly so that your other
comments don't obscure your overall opinion.</li>
</ul>
<ul>
<li>Do you think the library should be accepted as a Boost library?&nbsp;
Be sure to say this explicitly so that your other comments don't obscure
your overall opinion.</li>
</ul>
<p>Many reviews include questions for library authors. Authors are
interested in defending their library against your criticisms; otherwise
@ -137,60 +160,59 @@
<h2><a name="Results">Results</a></h2>
<p>At the conclusion of the comment period, the Review Manager will post
a message to the mailing list saying if the library has been accepted or
rejected.&nbsp; A rationale is also helpful, but its extent is up to the
Review Manager. If there are suggestions, or conditions that must be met
before final inclusion, they should be stated.</p>
<p>At the conclusion of the comment period, the Review Manager will post a
message to the mailing list saying if the library has been accepted or
rejected.&nbsp; A rationale is also helpful, but its extent is up to the
Review Manager. If there are suggestions, or conditions that must be met
before final inclusion, they should be stated.</p>
<h2>Notes for <a name="Review_Manager">Review Manager</a>s</h2>
<h2>Notes for <a name="Review_Manager" id="Review_Manager">Review
Manager</a>s</h2>
<p>Before a library can be scheduled for formal review, an active boost
member not connected with the library submission must volunteer to be the
"Review Manager" for the library.</p>
<p>Before a library can be scheduled for formal review, an active boost
member not connected with the library submission must volunteer to be the
"Review Manager" for the library.</p>
<p>The Review Manager:</p>
<p>The Review Manager:</p>
<ul>
<li>Checks the submission to make sure it really is complete enough to
warrant formal review.&nbsp; See the <a href="lib_guide.htm">Boost
Library Requirements and Guidelines</a>.&nbsp; If necessary, work with
the submitter to verify the code compiles and runs correctly on several
compilers and platforms.</li>
<ul>
<li>Checks the submission to make sure it really is complete enough to
warrant formal review.&nbsp; See the <a href="lib_guide.htm">Boost
Library Requirements and Guidelines</a>.&nbsp; If necessary, work with
the submitter to verify the code compiles and runs correctly on several
compilers and platforms.</li>
<li>Finalizes the schedule with the <a href="#Wizard">Review Wizard</a>
and the submitter .</li>
<li>Finalizes the schedule with the <a href="#Wizard">Review Wizard</a>
and the submitter .</li>
<li>
Posts a notice of the review schedule on the
regular <b><a href= "mailto:boost@lists.boost.org">boost</a></b>
mailing list,
the <b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b>
mailing list, and the
<b><a href="mailto:boost-announce@lists.boost.org">boost-announce</a></b>
mailing list.
<li>Posts a notice of the review schedule on the regular <b><a href=
"mailto:boost@lists.boost.org">boost</a></b> mailing list, the
<b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b>
mailing list, and the <b><a href=
"mailto:boost-announce@lists.boost.org">boost-announce</a></b> mailing
list.
<ul>
<li>The notice should include a brief description of the library
and what it does, to let readers know if the library is one they
are interested in reviewing.</li>
<ul>
<li>The notice should include a brief description of the library and
what it does, to let readers know if the library is one they are
interested in reviewing.</li>
<li>If the library is known to fail with certain compilers, please
mention them in the review notice so reviewers with those compilers
won't waste time diagnosing known problems.</li>
</ul>
</li>
<li>If the library is known to fail with certain compilers, please
mention them in the review notice so reviewers with those compilers
won't waste time diagnosing known problems.</li>
</ul>
</li>
<li>Inspects the Boost <a href="../libs/libraries.htm">library
catalogue</a> for libraries which may interact with the new submission.
These potential interactions should be pointed out in the review
announcement, and the author(s) of these libraries should be privately
notified and urged to participate in the review.</li>
<li>Inspects the Boost <a href="../libs/libraries.htm">library
catalogue</a> for libraries which may interact with the new submission.
These potential interactions should be pointed out in the review
announcement, and the author(s) of these libraries should be privately
notified and urged to participate in the review.</li>
<li>Urges people to do reviews if they aren't forthcoming.</li>
<li>Urges people to do reviews if they aren't forthcoming.</li>
<li>Follows review discussions regarding the library, moderating or
answering questions as needed.</li>
<li>Follows review discussions regarding the library, moderating or
answering questions as needed.</li>
<li>Asks the <a href="#Wizard">review wizard</a> for permission
to extend the review schedule if it appears that too few reviews will
@ -199,69 +221,65 @@
<li>Decides if there is consensus to accept the library, and if there
are any conditions attached.</li>
<li>
Posts a notice of the <a href="#Results">review results</a> on the
regular <b><a href= "mailto:boost@lists.boost.org">boost</a></b>
mailing list,
the <b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b>
mailing list, and the
<b><a href="mailto:boost-announce@lists.boost.org">boost-announce</a></b>
mailing list.
</ul>
<li>Decides if there is consensus to accept the library, and if there are
any conditions attached.</li>
<p>In other words, it is the Review Manager's responsibility to make sure
the review process works smoothly.</p>
<li>Posts a notice of the <a href="#Results">review results</a> on the
regular <b><a href="mailto:boost@lists.boost.org">boost</a></b> mailing
list, the <b><a href=
"mailto:boost-users@lists.boost.org">boost-users</a></b> mailing list,
and the <b><a href=
"mailto:boost-announce@lists.boost.org">boost-announce</a></b> mailing
list.</li>
</ul>
<h2>Notes for Library <a name="Submitters">Submitters</a></h2>
<p>In other words, it is the Review Manager's responsibility to make sure
the review process works smoothly.</p>
<p>See <a href="submission_process.htm">Submission Process</a> for a
description of the steps a library developer goes through to get a
library accepted by Boost.</p>
<h2>Notes for Library <a name="Submitters" id=
"Submitters">Submitters</a></h2>
<p>A proposed library should remain stable during the review period; it
will just confuse and irritate reviewers if there are numerous
changes.&nbsp; It is, however, useful to upload fixes for serious bugs
right away, particularly those which prevent reviewers from fully
evaluating the library.&nbsp; Post a notice of such fixes on the mailing
list.</p>
<p>See <a href="submission_process.htm">Submission Process</a> for a
description of the steps a library developer goes through to get a library
accepted by Boost.</p>
<p>Library improvements suggested by reviewers should normally be held
until after the completion of review period.&nbsp; If the suggested
changes might affect reviewer's judgments,&nbsp;post a notice of the
pending change on the mailing list.</p>
<p>A proposed library should remain stable during the review period; it
will just confuse and irritate reviewers if there are numerous
changes.&nbsp; It is, however, useful to upload fixes for serious bugs
right away, particularly those which prevent reviewers from fully
evaluating the library.&nbsp; Post a notice of such fixes on the mailing
list.</p>
<h2>Review <a name="Wizard">Wizard</a></h2>
<p>Library improvements suggested by reviewers should normally be held
until after the completion of review period.&nbsp; If the suggested changes
might affect reviewer's judgments,&nbsp;post a notice of the pending change
on the mailing list.</p>
<p>The Review Wizard coordinates the formal review schedule:</p>
<h2>Review <a name="Wizard" id="Wizard">Wizard</a></h2>
<ul>
<li>Maintains a list of review manager volunteers, in the form of a
queue, so that volunteers who least recently managed reviews become the
prime candidates for upcoming reviews.</li>
<p>The Review Wizard coordinates the formal review schedule:</p>
<li>When a formal review is requested for a library:</li>
<ul>
<li>Maintains a list of review manager volunteers, in the form of a
queue, so that volunteers who least recently managed reviews become the
prime candidates for upcoming reviews.</li>
<li style="list-style: none">
&nbsp;<ul>
<li>Assign a review manager and suggests a schedule, after checking
(via private email) availability of the volunteers at the top of
review manager queue.</li>
<li>When a formal review is requested for a library:</li>
<li>Finalize the schedule, once the review manager verifies the
library is actually ready for review.</li>
<li style="list-style: none">&nbsp;
<li>Resolve schedule slips or other issues with review managers and
submitters.</li>
</ul>
</li>
<ul>
<li>Assign a review manager and suggests a schedule, after checking
(via private email) availability of the volunteers at the top of
review manager queue.</li>
<li>Maintains a schedule of both past and pending reviews, in the form
of the <a href="formal_review_schedule.html">Review Schedule</a> web
page.</li>
<li>Finalize the schedule, once the review manager verifies the
library is actually ready for review.</li>
<li>Resolves questions from review managers and library submitters, who
sometimes want a third opinion on questions such as "Should we extend
the review period because ...?"</li>
<li>Resolve schedule slips or other issues with review managers and
submitters.</li>
</ul>
</li>
<li>Monitors the general review process, and makes minor adjustments as
needed, or queries the list about possible major adjustments.</li>
@ -270,42 +288,63 @@
Phillips (phillips at mps dot ohio-state dot edu) and Ronald
Garcia (garcia at cs dot indiana dot edu).
<li>Resolves questions from review managers and library submitters, who
sometimes want a third opinion on questions such as "Should we extend the
review period because ...?"</li>
<h2><a name="Fast-Track">Fast Track Reviews</a></h2>
<p>To qualify for fast track review:</p>
<ul>
<li>The component must be small.</li>
<li>The technique must be already in use in Boost libraries and the new
component provides a common implementation.</li>
<li>A full Boost-conformant implementation is available in the sandbox.</li>
<li>The Review Wizard determines that the proposal qualifies for fast
track review.</li>
</ul>
<p>Procedure:</p>
<ul>
<li>The Boost Review Wizard posts a review announcement to the main Boost
developer's list. The review period will normally last for 5 days. No two
fast track reviews will run in parallel. Fast track reviews may run during
full reviews, though generally this is to be avoided.</li>
<li>After the review period ends, the submitter will post a review summary
containing proposed changes to the reviewed implementation.</li>
<li>The Review Wizard will accept or reject the proposed library and
proposed changes.</li>
<li>After applying the proposed changes, the component is checked into CVS
like any other library.<br>
&nbsp;</li>
</ul>
<hr>
<li>Monitors the general review process, and makes minor adjustments as
needed, or queries the list about possible major adjustments.</li>
</ul>The role of Boost Review Wizard is currently played by <a href=
"mailto:reportbase@yahoo.com">Tom Brinkman</a> and Ronald Garcia (garcia at
cs dot indiana dot edu).
<p>Revised
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->10 October, 2006<!--webbot bot="Timestamp" endspan i-checksum="38930" --></p>
<p>© Copyright Beman Dawes 2000</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</body>
<p>To qualify for fast track review:</p>
<ul>
<li>The component must be small.</li>
<li>The technique must be already in use in Boost libraries and the new
component provides a common implementation.</li>
<li>A full Boost-conformant implementation is available in the
sandbox.</li>
<li>The Review Wizard determines that the proposal qualifies for fast
track review.</li>
</ul>
<p>Procedure:</p>
<ul>
<li>The Boost Review Wizard posts a review announcement to the main Boost
developer's list. The review period will normally last for 5 days. No two
fast track reviews will run in parallel. Fast track reviews may run
during full reviews, though generally this is to be avoided.</li>
<li>After the review period ends, the submitter will post a review
summary containing proposed changes to the reviewed implementation.</li>
<li>The Review Wizard will accept or reject the proposed library and
proposed changes.</li>
<li>After applying the proposed changes, the component is checked into
CVS like any other library.<br>
&nbsp;</li>
</ul>
<hr>
<p>Revised
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->15
October, 2003<!--webbot bot="Timestamp" endspan i-checksum="38556" --></p>
<p>&copy; Copyright Beman Dawes 2000</p>
<p>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
</body>
</html>

1004
getting_started.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@ Boost provides |precompiled-bjam|_ for a variety of platforms.
Alternatively, you can build ``bjam`` yourself using `these
instructions`__.
__ ../../doc/html/jam/building.html
__ `building bjam`_
.. _toolset:
@ -38,6 +38,12 @@ Identify Your Toolset
First, find the toolset corresponding to your compiler in the
following table.
.. Note:: If you previously chose a toolset for the purposes of
`building bjam`_, you should assume it won't work and instead
choose newly from the table below.
.. _building bjam: ../../doc/html/jam/building.html
+-----------+--------------------+-----------------------------+
|Toolset |Vendor |Notes |
|Name | | |
@ -89,13 +95,10 @@ following table.
__ Boost.Build_
If you have multiple versions of a particular compiler installed,
you can append the version number to the toolset name, preceded by a
hyphen, e.g. ``msvc-7.1`` or ``gcc-3.4``.
you can append the version number to the toolset name, preceded by
a hyphen, e.g. ``intel-9.0`` or
``borland-5.4.3``. |windows-version-name-caveat|
.. Note:: if you built ``bjam`` yourself, you may
have selected a toolset name for that purpose, but that does not
affect this step in any way; you still need to select a Boost.Build
toolset from the table.
.. _build directory:
.. _build-directory:

View File

@ -2,8 +2,9 @@
.. Software License, Version 1.0. (See accompanying
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Boost.Build will place the Boost binaries in the ``stage``\ |/|
subdirectory of your `build directory`_.
Building the special ``stage`` target places Boost
library binaries in the ``stage``\ |/| subdirectory of your `build
directory`_.
.. Note:: ``bjam`` is case-sensitive; it is important that all the
parts shown in **bold** type above be entirely lower-case.

View File

@ -16,6 +16,9 @@
.. |include-paths| replace:: `` ``
.. |windows-version-name-caveat| replace:: `` ``
.. |command-line tool| replace:: command-line tool
.. include:: common.rst

View File

@ -24,6 +24,11 @@
**lib**\ |//| .....................\ *precompiled library binaries*
.. |windows-version-name-caveat| replace:: **On Windows, append a version
number even if you only have one version installed** (unless you
are using the msvc or gcc toolsets, which have special version
detection code) or `auto-linking`_ will fail.
.. |command-line tool| replace:: `command-line tool`_
.. include:: common.rst

View File

@ -31,7 +31,7 @@ mailing list`_.
-- the Boost Developers
.. _Boost.Build reference manual: ../../tools/build/v2
.. _Boost.Build reference manual: ../../tools/build/v2/index.html
.. _Boost.Jam reference manual: `Boost.Jam`_
.. _Boost Users' mailing list: ../../more/mailing_lists.htm#users
.. _Boost.Build Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2

View File

@ -5,8 +5,8 @@
.. This file contains all the definitions that need to be updated
.. for each new release of Boost.
.. |boost-version-number| replace:: 1.34.0
.. |boost_ver| replace:: ``boost_1_34_0``
.. |boost_ver-bold| replace:: **boost_1_34_0**
.. |boost-version-number| replace:: 1.35.0
.. |boost_ver| replace:: ``boost_1_35_0``
.. |boost_ver-bold| replace:: **boost_1_35_0**
.. _sf-download: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041
.. _sf-download: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041

View File

@ -39,7 +39,7 @@
</li>
<li><a class="reference internal" href="#prepare-to-use-a-boost-library-binary" id="id23">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
<li><a class="reference internal" href="#easy-build-and-install" id="id24">5.1&nbsp;&nbsp;&nbsp;Easy Build and Install</a></li>
<li><a class="reference internal" href="#or-custom-build-and-install" id="id25">5.2&nbsp;&nbsp;&nbsp;Or, Custom Build and Install</a><ul class="auto-toc">
<li><a class="reference internal" href="#or-build-custom-binaries" id="id25">5.2&nbsp;&nbsp;&nbsp;Or, Build Custom Binaries</a><ul class="auto-toc">
<li><a class="reference internal" href="#get-bjam" id="id26">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
<li><a class="reference internal" href="#identify-your-toolset" id="id27">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
<li><a class="reference internal" href="#select-a-build-directory" id="id28">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
@ -63,12 +63,12 @@
<p>The most reliable way to get a copy of Boost is to download a
distribution from <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">SourceForge</a>:</p>
<ol class="arabic">
<li><p class="first">Download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">.tar.bz2</span></tt></a>.</p>
<li><p class="first">Download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt><tt class="docutils literal"><span class="pre">.tar.bz2</span></tt></a>.</p>
</li>
<li><p class="first">In the directory where you want to put the Boost installation,
execute</p>
<pre class="literal-block">
tar --bzip2 -xf <em>/path/to/</em><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>.tar.bz2
tar --bzip2 -xf <em>/path/to/</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>.tar.bz2
</pre>
</li>
</ol>
@ -91,7 +91,7 @@ from <a class="reference external" href="http://sourceforge.net/project/showfile
<h1><a class="toc-backref" href="#id19">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
<p>This is a sketch of the resulting directory structure:</p>
<pre class="literal-block">
<strong>boost_1_34_0</strong><strong>/</strong> .................<em>The “boost root directory”</em>
<strong>boost_1_35_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>
<tt class="docutils literal"> </tt>
@ -136,7 +136,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">/usr/local/</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>) is
<li><p class="first">The path to the <strong>boost root directory</strong> (often <tt class="docutils literal"><span class="pre">/usr/local/</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>) is
sometimes referred to as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and
mailing lists .</p>
</li>
@ -230,7 +230,7 @@ int main()
<p>Now, in the directory where you saved <tt class="docutils literal"><span class="pre">example.cpp</span></tt>, issue the
following command:</p>
<pre class="literal-block">
c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt> example.cpp -o example
c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt> example.cpp -o example
</pre>
<p>To test the result, type:</p>
<pre class="literal-block">
@ -261,7 +261,7 @@ you'll need to acquire library binaries.</p>
<p>Issue the following commands in the shell (don't type <tt class="docutils literal"><span class="pre">$</span></tt>; that
represents the shell's prompt):</p>
<pre class="literal-block">
<strong>$</strong> cd <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
<strong>$</strong> cd <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>
<strong>$</strong> ./configure --help
</pre>
<p>Select your configuration options and invoke <tt class="docutils literal"><span class="pre">./configure</span></tt> again
@ -284,8 +284,8 @@ prefix, so you can henceforth use that directory as an <tt class="docutils liter
path in place of the Boost root directory.</p>
<p><a class="reference internal" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
</div>
<div class="section" id="or-custom-build-and-install">
<h2><a class="toc-backref" href="#id25">5.2&nbsp;&nbsp;&nbsp;Or, Custom Build and Install</a></h2>
<div class="section" id="or-build-custom-binaries">
<h2><a class="toc-backref" href="#id25">5.2&nbsp;&nbsp;&nbsp;Or, Build Custom Binaries</a></h2>
<p>If you're using a compiler other than your system's default, you'll
need to use <a class="reference external" href="../../tools/build/index.html">Boost.Build</a> to create binaries. You'll also
use this method if you need a nonstandard build variant (see the
@ -310,6 +310,12 @@ instructions</a>.</p>
<span id="toolset-name"></span><span id="toolset"></span><h3><a class="toc-backref" href="#id27">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
<p>First, find the toolset corresponding to your compiler in the
following table.</p>
<div class="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/jam/building.html">building bjam</a>, you should assume it won't work and instead
choose newly from the table below.</p>
</div>
<table border="1" class="docutils">
<colgroup>
<col width="18%" />
@ -398,15 +404,9 @@ Boost.</td>
</tbody>
</table>
<p>If you have multiple versions of a particular compiler installed,
you can append the version number to the toolset name, preceded by a
hyphen, e.g. <tt class="docutils literal"><span class="pre">msvc-7.1</span></tt> or <tt class="docutils literal"><span class="pre">gcc-3.4</span></tt>.</p>
<div class="note">
<p class="first admonition-title">Note</p>
<p class="last">if you built <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself, you may
have selected a toolset name for that purpose, but that does not
affect this step in any way; you still need to select a Boost.Build
toolset from the table.</p>
</div>
you can append the version number to the toolset name, preceded by
a hyphen, e.g. <tt class="docutils literal"><span class="pre">intel-9.0</span></tt> or
<tt class="docutils literal"><span class="pre">borland-5.4.3</span></tt>. <tt class="docutils literal"> </tt></p>
</div>
<div class="section" id="select-a-build-directory">
<span id="id10"></span><span id="build-directory"></span><h3><a class="toc-backref" href="#id28">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
@ -425,14 +425,15 @@ bjam <strong>--build-dir=</strong><a class="reference internal" href="#id10"><em
</pre>
<p>For example, your session might look like this:</p>
<pre class="literal-block">
$ cd ~/<tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
$ bjam <strong>--build-dir=</strong>/tmp/build-boost <strong>--toolset=</strong>gcc
$ cd ~/<tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>
$ bjam <strong>--build-dir=</strong>/tmp/build-boost <strong>--toolset=</strong>gcc stage
</pre>
<!-- 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) -->
<p>Boost.Build will place the Boost binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">/</span></tt>
subdirectory of your <a class="reference internal" href="#build-directory">build directory</a>.</p>
<p>Building the special <tt class="docutils literal"><span class="pre">stage</span></tt> target places Boost
library binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">/</span></tt> subdirectory of your <a class="reference internal" href="#build-directory">build
directory</a>.</p>
<div class="note">
<p class="first admonition-title">Note</p>
<p class="last"><tt class="docutils literal"><span class="pre">bjam</span></tt> is case-sensitive; it is important that all the
@ -532,15 +533,15 @@ project.</li>
<ol class="upperalpha">
<li><p class="first">You can specify the full path to each library:</p>
<pre class="literal-block">
$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt> example.cpp -o example <strong>\</strong>
<strong>~/boost/lib/libboost_regex-gcc-3.4-mt-d-1_34.a</strong>
$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt> example.cpp -o example <strong>\</strong>
<strong>~/boost/lib/libboost_regex-gcc34-mt-d-1_35.a</strong>
</pre>
</li>
<li><p class="first">You can separately specify a directory to search (with <tt class="docutils literal"><span class="pre">-L</span></tt><em>directory</em>) and a library name to search for (with <tt class="docutils literal"><span class="pre">-l</span></tt><em>library</em>,<a class="footnote-reference" href="#lowercase-l" id="id12"><sup>2</sup></a> dropping the filename's leading <tt class="docutils literal"><span class="pre">lib</span></tt> and trailing
suffix (<tt class="docutils literal"><span class="pre">.a</span></tt> in this case):</p>
<pre class="literal-block">
$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt> example.cpp -o example <strong>\</strong>
<strong>-L~/boost/lib/ -lboost_regex-gcc-3.4-mt-d-1_34</strong>
$ c++ -I <em>path/to/</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt> example.cpp -o example <strong>\</strong>
<strong>-L~/boost/lib/ -lboost_regex-gcc34-mt-d-1_35</strong>
</pre>
<p>As you can see, this method is just as terse as method A for one
library; it <em>really</em> pays off when you're using multiple
@ -697,7 +698,7 @@ If you can't find what you need, or there's anything we can do to
make this document clearer, please post it to the <a class="reference external" href="../../more/mailing_lists.htm#users">Boost Users'
mailing list</a>.</p>
<ul class="simple">
<li><a class="reference external" href="../../tools/build/v2">Boost.Build reference manual</a></li>
<li><a class="reference external" href="../../tools/build/v2/index.html">Boost.Build reference manual</a></li>
<li><a class="reference external" href="../../tools/jam/index.html">Boost.Jam reference manual</a></li>
<li><a class="reference external" href="../../more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
<li><a class="reference external" href="../../more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>

View File

@ -125,8 +125,8 @@ path in place of the Boost root directory.
__ `Link Your Program to a Boost Library`_
Or, Custom Build and Install
----------------------------
Or, Build Custom Binaries
-------------------------
If you're using a compiler other than your system's default, you'll
need to use Boost.Build_ to create binaries. You'll also
@ -140,7 +140,7 @@ For example, your session might look like this:
.. parsed-literal::
$ cd ~/|boost_ver|
$ bjam **--build-dir=**\ /tmp/build-boost **--toolset=**\ gcc
$ bjam **--build-dir=**\ /tmp/build-boost **--toolset=**\ gcc stage
.. include:: detail/build-from-source-tail.rst
@ -153,7 +153,7 @@ A. You can specify the full path to each library:
.. parsed-literal::
$ c++ -I |root| example.cpp -o example **\\**
**~/boost/lib/libboost_regex-gcc-3.4-mt-d-1_34.a**
**~/boost/lib/libboost_regex-gcc34-mt-d-1_35.a**
B. You can separately specify a directory to search (with ``-L``\
*directory*) and a library name to search for (with ``-l``\
@ -163,7 +163,7 @@ B. You can separately specify a directory to search (with ``-L``\
.. parsed-literal::
$ c++ -I |root| example.cpp -o example **\\**
**-L~/boost/lib/ -lboost_regex-gcc-3.4-mt-d-1_34**
**-L~/boost/lib/ -lboost_regex-gcc34-mt-d-1_35**
As you can see, this method is just as terse as method A for one
library; it *really* pays off when you're using multiple

View File

@ -26,40 +26,40 @@ not supported—they may or may not work.</p>
<div class="contents topic" id="index">
<p class="topic-title first">Index</p>
<ul class="auto-toc simple">
<li><a class="reference internal" href="#get-boost" id="id22">1&nbsp;&nbsp;&nbsp;Get Boost</a></li>
<li><a class="reference internal" href="#the-boost-distribution" id="id23">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></li>
<li><a class="reference internal" href="#header-only-libraries" id="id24">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></li>
<li><a class="reference internal" href="#build-a-simple-program-using-boost" id="id25">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc">
<li><a class="reference internal" href="#build-from-the-visual-studio-ide" id="id26">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></li>
<li><a class="reference internal" href="#or-build-from-the-command-prompt" id="id27">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></li>
<li><a class="reference internal" href="#errors-and-warnings" id="id28">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
<li><a class="reference internal" href="#get-boost" id="id23">1&nbsp;&nbsp;&nbsp;Get Boost</a></li>
<li><a class="reference internal" href="#the-boost-distribution" id="id24">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></li>
<li><a class="reference internal" href="#header-only-libraries" id="id25">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></li>
<li><a class="reference internal" href="#build-a-simple-program-using-boost" id="id26">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc">
<li><a class="reference internal" href="#build-from-the-visual-studio-ide" id="id27">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></li>
<li><a class="reference internal" href="#or-build-from-the-command-prompt" id="id28">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></li>
<li><a class="reference internal" href="#errors-and-warnings" id="id29">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
</ul>
</li>
<li><a class="reference internal" href="#prepare-to-use-a-boost-library-binary" id="id29">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
<li><a class="reference internal" href="#install-visual-studio-2005-or-net-2003-binaries" id="id30">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio (2005 or .NET 2003) Binaries</a></li>
<li><a class="reference internal" href="#or-build-and-install-binaries-from-source" id="id31">5.2&nbsp;&nbsp;&nbsp;Or, Build and Install Binaries From Source</a><ul class="auto-toc">
<li><a class="reference internal" href="#get-bjam" id="id32">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
<li><a class="reference internal" href="#identify-your-toolset" id="id33">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
<li><a class="reference internal" href="#select-a-build-directory" id="id34">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
<li><a class="reference internal" href="#invoke-bjam" id="id35">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
<li><a class="reference internal" href="#prepare-to-use-a-boost-library-binary" id="id30">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a><ul class="auto-toc">
<li><a class="reference internal" href="#install-visual-studio-2005-or-net-2003-binaries" id="id31">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio (2005 or .NET 2003) Binaries</a></li>
<li><a class="reference internal" href="#or-build-binaries-from-source" id="id32">5.2&nbsp;&nbsp;&nbsp;Or, Build Binaries From Source</a><ul class="auto-toc">
<li><a class="reference internal" href="#get-bjam" id="id33">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
<li><a class="reference internal" href="#identify-your-toolset" id="id34">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></li>
<li><a class="reference internal" href="#select-a-build-directory" id="id35">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></li>
<li><a class="reference internal" href="#invoke-bjam" id="id36">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
</ul>
</li>
<li><a class="reference internal" href="#expected-build-output" id="id36">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></li>
<li><a class="reference internal" href="#in-case-of-build-errors" id="id37">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></li>
<li><a class="reference internal" href="#expected-build-output" id="id37">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></li>
<li><a class="reference internal" href="#in-case-of-build-errors" id="id38">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></li>
</ul>
</li>
<li><a class="reference internal" href="#link-your-program-to-a-boost-library" id="id38">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a><ul class="auto-toc">
<li><a class="reference internal" href="#link-from-within-the-visual-studio-ide" id="id39">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></li>
<li><a class="reference internal" href="#or-link-from-the-command-prompt" id="id40">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></li>
<li><a class="reference internal" href="#library-naming" id="id41">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></li>
<li><a class="reference internal" href="#test-your-program" id="id42">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
<li><a class="reference internal" href="#link-your-program-to-a-boost-library" id="id39">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a><ul class="auto-toc">
<li><a class="reference internal" href="#link-from-within-the-visual-studio-ide" id="id40">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></li>
<li><a class="reference internal" href="#or-link-from-the-command-prompt" id="id41">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></li>
<li><a class="reference internal" href="#library-naming" id="id42">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></li>
<li><a class="reference internal" href="#test-your-program" id="id43">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
</ul>
</li>
<li><a class="reference internal" href="#conclusion-and-further-resources" id="id43">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
<li><a class="reference internal" href="#conclusion-and-further-resources" id="id44">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
</ul>
</div>
<div class="section" id="get-boost">
<h1><a class="toc-backref" href="#id22">1&nbsp;&nbsp;&nbsp;Get Boost</a></h1>
<h1><a class="toc-backref" href="#id23">1&nbsp;&nbsp;&nbsp;Get Boost</a></h1>
<p>The easiest way to get a copy of Boost is to use the <a class="reference external" href="http://www.boost-consulting.com/download/windows">installer</a>
provided by <a class="reference external" href="http://www.boost-consulting.com">Boost Consulting</a>. We especially recommend this
method if you use Microsoft Visual Studio .NET 2003 or Microsoft
@ -69,17 +69,17 @@ them yourself. To complete this tutorial, you'll need to at least
install the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a> binaries when given the option.</p>
<p>If you're using an earlier version of Visual Studio or some other
compiler, or if you prefer to build everything yourself, you can
download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">.exe</span></tt></a> and run it to install a complete Boost
download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt><tt class="docutils literal"><span class="pre">.exe</span></tt></a> and run 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 -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div>
<div class="section" id="the-boost-distribution">
<h1><a class="toc-backref" href="#id23">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
<h1><a class="toc-backref" href="#id24">2&nbsp;&nbsp;&nbsp;The Boost Distribution</a></h1>
<p>This is a sketch of the resulting directory structure:</p>
<pre class="literal-block">
<strong>boost_1_34_0</strong><strong>\</strong> .................<em>The “boost root directory”</em>
<strong>boost_1_35_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>
@ -124,7 +124,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> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></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> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>) is
sometimes referred to as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and
mailing lists .</p>
</li>
@ -159,7 +159,7 @@ contains a subset of the Boost documentation. Start with
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div>
<div class="section" id="header-only-libraries">
<h1><a class="toc-backref" href="#id24">3&nbsp;&nbsp;&nbsp;Header-Only Libraries</a></h1>
<h1><a class="toc-backref" href="#id25">3&nbsp;&nbsp;&nbsp;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">
@ -199,7 +199,7 @@ use</strong>.</li>
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div>
<div class="section" id="build-a-simple-program-using-boost">
<h1><a class="toc-backref" href="#id25">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a></h1>
<h1><a class="toc-backref" href="#id26">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a></h1>
<p>To keep things simple, let's start by using a header-only library.
The following program reads a sequence of integers from standard
input, uses Boost.Lambda to multiply each number by three, and
@ -248,14 +248,14 @@ 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> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>
</pre>
<p class="last">Long commands can be continued across several lines by typing a
caret (<tt class="docutils literal"><span class="pre">^</span></tt>) at the end of all but the last line. Some examples
on this page use that technique to save horizontal space.</p>
</div>
<div class="section" id="build-from-the-visual-studio-ide">
<span id="vs-header-only"></span><h2><a class="toc-backref" href="#id26">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></h2>
<span id="vs-header-only"></span><h2><a class="toc-backref" href="#id27">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></h2>
<ul>
<li><p class="first">From Visual Studio's <em>File</em> menu, select <em>New</em> &gt; <em>Project…</em></p>
</li>
@ -273,7 +273,7 @@ select <em>Properties</em> from the resulting pop-up menu</p>
<li><p class="first">In <em>Configuration Properties</em> &gt; <em>C/C++</em> &gt; <em>General</em> &gt; <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> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt></p>
<p><tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt></p>
</blockquote>
</li>
<li><p class="first">In <em>Configuration Properties</em> &gt; <em>C/C++</em> &gt; <em>Precompiled Headers</em>, change
@ -296,7 +296,7 @@ Return key.</p>
<p><a class="reference internal" href="#errors-and-warnings"><em>skip to the next step</em></a></p>
</div>
<div class="section" id="or-build-from-the-command-prompt">
<h2><a class="toc-backref" href="#id27">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></h2>
<h2><a class="toc-backref" href="#id28">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</a></h2>
<p>From your computer's <em>Start</em> menu, if you are a Visual
Studio 2005 user, select</p>
<blockquote>
@ -311,7 +311,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"><span class="pre">boost_1_34_0</span></tt> <em>path</em>\<em>to</em>\example.cpp
cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt> <em>path</em>\<em>to</em>\example.cpp
</pre>
<p>To test the result, type:</p>
<pre class="literal-block">
@ -322,7 +322,7 @@ echo 1 2 3 | example
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div>
<div class="section" id="errors-and-warnings">
<h2><a class="toc-backref" href="#id28">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></h2>
<h2><a class="toc-backref" href="#id29">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></h2>
<p>Don't be alarmed if you see compiler warnings originating in Boost
headers. We try to eliminate them, but doing so isn't always
practical.<a class="footnote-reference" href="#warnings" id="id7"><sup>5</sup></a> <strong>Errors are another matter</strong>. If you're
@ -335,21 +335,21 @@ correctly identified the <a class="reference internal" href="#boost-root-directo
</div>
</div>
<div class="section" id="prepare-to-use-a-boost-library-binary">
<h1><a class="toc-backref" href="#id29">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a></h1>
<h1><a class="toc-backref" href="#id30">5&nbsp;&nbsp;&nbsp;Prepare to Use a Boost Library Binary</a></h1>
<p>If you want to use any of the separately-compiled Boost libraries,
you'll need to acquire library binaries.</p>
<div class="section" id="install-visual-studio-2005-or-net-2003-binaries">
<h2><a class="toc-backref" href="#id30">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio (2005 or .NET 2003) Binaries</a></h2>
<h2><a class="toc-backref" href="#id31">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio (2005 or .NET 2003) Binaries</a></h2>
<p>The <a class="reference external" href="http://www.boost-consulting.com/download/windows">installer</a> supplied by Boost Consulting will download and
install pre-compiled binaries into the <tt class="docutils literal"><span class="pre">lib\</span></tt> subdirectory of the
boost root, typically <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>. If you installed
boost root, typically <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>. If you installed
all variants of the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a> binary, you're done with this
step. Otherwise, please run the installer again and install them
now.</p>
<p><a class="reference internal" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
</div>
<div class="section" id="or-build-and-install-binaries-from-source">
<h2><a class="toc-backref" href="#id31">5.2&nbsp;&nbsp;&nbsp;Or, Build and Install Binaries From Source</a></h2>
<div class="section" id="or-build-binaries-from-source">
<h2><a class="toc-backref" href="#id32">5.2&nbsp;&nbsp;&nbsp;Or, Build Binaries From Source</a></h2>
<p>If you're using an earlier version of Visual C++, or a compiler
from another vendor, you'll need to use <a class="reference external" href="../../tools/build/index.html">Boost.Build</a> to create your
own binaries.</p>
@ -361,7 +361,7 @@ installing software. To use it, you'll need an executable called
<tt class="docutils literal"><span class="pre">bjam</span></tt>.</p>
<!-- .. _Boost.Jam documentation: Boost.Jam_ -->
<div class="section" id="get-bjam">
<h3><a class="toc-backref" href="#id32">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
<h3><a class="toc-backref" href="#id33">5.2.1&nbsp;&nbsp;&nbsp;Get <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
<p><tt class="docutils literal"><span class="pre">bjam</span></tt> is the <a class="reference internal" href="#command-line-tool">command-line tool</a> that drives the Boost Build
system. To build Boost binaries, you'll invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> from the
Boost root.</p>
@ -370,9 +370,15 @@ Alternatively, you can build <tt class="docutils literal"><span class="pre">bjam
instructions</a>.</p>
</div>
<div class="section" id="identify-your-toolset">
<span id="toolset-name"></span><span id="toolset"></span><h3><a class="toc-backref" href="#id33">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
<span id="toolset-name"></span><span id="toolset"></span><h3><a class="toc-backref" href="#id34">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</a></h3>
<p>First, find the toolset corresponding to your compiler in the
following table.</p>
<div class="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/jam/building.html">building bjam</a>, you should assume it won't work and instead
choose newly from the table below.</p>
</div>
<table border="1" class="docutils">
<colgroup>
<col width="18%" />
@ -461,18 +467,15 @@ Boost.</td>
</tbody>
</table>
<p>If you have multiple versions of a particular compiler installed,
you can append the version number to the toolset name, preceded by a
hyphen, e.g. <tt class="docutils literal"><span class="pre">msvc-7.1</span></tt> or <tt class="docutils literal"><span class="pre">gcc-3.4</span></tt>.</p>
<div class="note">
<p class="first admonition-title">Note</p>
<p class="last">if you built <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself, you may
have selected a toolset name for that purpose, but that does not
affect this step in any way; you still need to select a Boost.Build
toolset from the table.</p>
</div>
you can append the version number to the toolset name, preceded by
a hyphen, e.g. <tt class="docutils literal"><span class="pre">intel-9.0</span></tt> or
<tt class="docutils literal"><span class="pre">borland-5.4.3</span></tt>. <strong>On Windows, append a version
number even if you only have one version installed</strong> (unless you
are using the msvc or gcc toolsets, which have special version
detection code) or <a class="reference internal" href="#auto-linking">auto-linking</a> will fail.</p>
</div>
<div class="section" id="select-a-build-directory">
<span id="id12"></span><span id="build-directory"></span><h3><a class="toc-backref" href="#id34">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
<span id="id12"></span><span id="build-directory"></span><h3><a class="toc-backref" href="#id35">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</a></h3>
<p><a class="reference external" href="../../tools/build/index.html">Boost.Build</a> will place all intermediate files it generates while
building into the <strong>build directory</strong>. If your Boost root
directory is writable, this step isn't strictly necessary: by
@ -480,7 +483,7 @@ default Boost.Build will create a <tt class="docutils literal"><span class="pre"
purpose in your current working directory.</p>
</div>
<div class="section" id="invoke-bjam">
<h3><a class="toc-backref" href="#id35">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
<h3><a class="toc-backref" href="#id36">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></h3>
<p>Change your current directory to the Boost root directory and
invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> as follows:</p>
<pre class="literal-block">
@ -488,16 +491,17 @@ bjam <strong>--build-dir=</strong><a class="reference internal" href="#id12"><em
</pre>
<p>For example, your session might look like this:<a class="footnote-reference" href="#continuation" id="id13"><sup>4</sup></a></p>
<pre class="literal-block">
C:WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
<tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>&gt; bjam <strong>^</strong>
More? <strong>--build-dir=</strong>%TEMP%\build-boost <strong>^</strong>
C:\WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>
<tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt>&gt; bjam <strong>^</strong>
More? <strong>--build-dir=</strong>C:\temp\build-boost <strong>^</strong>
More? <strong>--toolset=</strong>msvc stage
</pre>
<!-- 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) -->
<p>Boost.Build will place the Boost binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">\</span></tt>
subdirectory of your <a class="reference internal" href="#build-directory">build directory</a>.</p>
<p>Building the special <tt class="docutils literal"><span class="pre">stage</span></tt> target places Boost
library binaries in the <tt class="docutils literal"><span class="pre">stage</span></tt><tt class="docutils literal"><span class="pre">\</span></tt> subdirectory of your <a class="reference internal" href="#build-directory">build
directory</a>.</p>
<div class="note">
<p class="first admonition-title">Note</p>
<p class="last"><tt class="docutils literal"><span class="pre">bjam</span></tt> is case-sensitive; it is important that all the
@ -519,7 +523,7 @@ be interested in:</p>
</div>
</div>
<div class="section" id="expected-build-output">
<h2><a class="toc-backref" href="#id36">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></h2>
<h2><a class="toc-backref" href="#id37">5.3&nbsp;&nbsp;&nbsp;Expected Build Output</a></h2>
<p>During the process of building Boost libraries, you can expect to
see some messages printed on the console. These may include</p>
<ul>
@ -543,7 +547,7 @@ look something like:</p>
</ul>
</div>
<div class="section" id="in-case-of-build-errors">
<h2><a class="toc-backref" href="#id37">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></h2>
<h2><a class="toc-backref" href="#id38">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</a></h2>
<p>The only error messages you see when building Boost—if any—should
be related to the IOStreams library's support of zip and bzip2
formats as described <a class="reference external" href="../../libs/iostreams/doc/installation.html">here</a>. Install the relevant development
@ -555,13 +559,13 @@ in the <a class="reference external" href="../../tools/build/index.html">Boost.B
the <tt class="docutils literal"><span class="pre">user-config.jam</span></tt> file doesn't work for you, please address
questions about configuring Boost for your compiler to the
<a class="reference external" href="../../more/mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
<!-- Copyright David Abrahams 2006. Distributed under the Boost -->
<span class="target" id="auto-linking"></span><!-- 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>
</div>
<div class="section" id="link-your-program-to-a-boost-library">
<h1><a class="toc-backref" href="#id38">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a></h1>
<h1><a class="toc-backref" href="#id39">6&nbsp;&nbsp;&nbsp;Link Your Program to a Boost Library</a></h1>
<p>To demonstrate linking with a Boost binary library, we'll use the
following simple program that extracts the subject lines from
emails. It uses the <a class="reference external" href="../../libs/regex/index.html">Boost.Regex</a> library, which has a
@ -595,15 +599,18 @@ project.</li>
</ol>
<div class="admonition-auto-linking admonition">
<p class="first admonition-title">Auto-Linking</p>
<p class="last">Most Windows compilers and linkers have so-called “auto-linking
<p>Most Windows compilers and linkers have so-called “auto-linking
support,” which eliminates the second challenge. Special code in
Boost header files detects your compiler options and uses that
information to encode the name of the correct library into your
object files; the linker selects the library with that name from
the directories you've told it to search.</p>
<p class="last">The GCC toolchains (Cygwin and MinGW) are notable exceptions;
GCC users should refer to the <a class="reference external" href="unix-variants.html#link-your-program-to-a-boost-library">linking instructions for Unix
variant OSes</a> for the appropriate command-line options to use.</p>
</div>
<div class="section" id="link-from-within-the-visual-studio-ide">
<h2><a class="toc-backref" href="#id39">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></h2>
<h2><a class="toc-backref" href="#id40">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></h2>
<p>Starting with the <a class="reference internal" href="#vs-header-only">header-only example project</a> we created
earlier:</p>
<ol class="arabic simple">
@ -611,24 +618,24 @@ earlier:</p>
select <em>Properties</em> from the resulting pop-up menu</li>
<li>In <em>Configuration Properties</em> &gt; <em>Linker</em> &gt; <em>Additional Library
Directories</em>, enter the path to the Boost binaries,
e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>.</li>
e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></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>
</div>
<div class="section" id="or-link-from-the-command-prompt">
<h2><a class="toc-backref" href="#id40">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></h2>
<h2><a class="toc-backref" href="#id41">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</a></h2>
<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> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">\lib</span></tt>:</p>
in <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt><tt class="docutils literal"><span class="pre">\lib</span></tt>:</p>
<pre class="literal-block">
cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt> example.cpp <strong>^</strong>
<strong>/link /LIBPATH:</strong> <strong>C:\Program Files\boost\</strong><strong>boost_1_34_0</strong><strong>\lib</strong>
cl /EHsc /I <em>path\to\</em><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt> example.cpp <strong>^</strong>
<strong>/link /LIBPATH:</strong> <strong>C:\Program Files\boost\</strong><strong>boost_1_35_0</strong><strong>\lib</strong>
</pre>
</div>
<div class="section" id="library-naming">
<h2><a class="toc-backref" href="#id41">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></h2>
<h2><a class="toc-backref" href="#id42">6.3&nbsp;&nbsp;&nbsp;Library Naming</a></h2>
<div class="note">
<p class="first admonition-title">Note</p>
<p>If, like Visual C++, your compiler supports auto-linking,
@ -650,7 +657,7 @@ following elements:</p>
<dd><em>Prefix</em>: except on Microsoft Windows, every Boost library
name begins with this string. On Windows, only ordinary static
libraries use the <tt class="docutils literal"><span class="pre">lib</span></tt> prefix; import libraries and DLLs do
not.<a class="footnote-reference" href="#distinct" id="id18"><sup>6</sup></a></dd>
not.<a class="footnote-reference" href="#distinct" id="id19"><sup>6</sup></a></dd>
<dt><tt class="docutils literal"><span class="pre">boost_regex</span></tt></dt>
<dd><em>Library name</em>: all boost library filenames begin with <tt class="docutils literal"><span class="pre">boost_</span></tt>.</dd>
<dt><tt class="docutils literal"><span class="pre">-vc71</span></tt></dt>
@ -688,14 +695,14 @@ libraries.</td>
<td>using a special <a class="reference external" href="../../libs/python/doc/building.html#variants">debug build of Python</a>.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">d</span></tt></td>
<td>building a debug version of your code.<a class="footnote-reference" href="#debug-abi" id="id19"><sup>7</sup></a></td>
<td>building a debug version of your code.<a class="footnote-reference" href="#debug-abi" id="id20"><sup>7</sup></a></td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">p</span></tt></td>
<td>using the STLPort standard library rather than the default one supplied with
your compiler.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">n</span></tt></td>
<td>using STLPort's deprecated “native iostreams” feature.<a class="footnote-reference" href="#native" id="id20"><sup>8</sup></a></td>
<td>using STLPort's deprecated “native iostreams” feature.<a class="footnote-reference" href="#native" id="id21"><sup>8</sup></a></td>
</tr>
</tbody>
</table>
@ -728,7 +735,7 @@ version number, will also be created.</dd>
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div>
<div class="section" id="test-your-program">
<h2><a class="toc-backref" href="#id42">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></h2>
<h2><a class="toc-backref" href="#id43">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></h2>
<p>To test our subject extraction, we'll filter the following text
file. Copy it out of your browser and save it as <tt class="docutils literal"><span class="pre">jayne.txt</span></tt>:</p>
<pre class="literal-block">
@ -750,7 +757,7 @@ Spoil Rock Hunter?”</p>
</div>
</div>
<div class="section" id="conclusion-and-further-resources">
<h1><a class="toc-backref" href="#id43">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
<h1><a class="toc-backref" href="#id44">7&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
<p>This concludes your introduction to Boost and to integrating it
with your programs. As you start using Boost in earnest, there are
surely a few additional points you'll wish we had covered. One day
@ -760,7 +767,7 @@ If you can't find what you need, or there's anything we can do to
make this document clearer, please post it to the <a class="reference external" href="../../more/mailing_lists.htm#users">Boost Users'
mailing list</a>.</p>
<ul class="simple">
<li><a class="reference external" href="../../tools/build/v2">Boost.Build reference manual</a></li>
<li><a class="reference external" href="../../tools/build/v2/index.html">Boost.Build reference manual</a></li>
<li><a class="reference external" href="../../tools/jam/index.html">Boost.Jam reference manual</a></li>
<li><a class="reference external" href="../../more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
<li><a class="reference external" href="../../more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
@ -779,7 +786,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>If you prefer not to download executable programs,
download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">.zip</span></tt></a> and use an external tool to decompress
download <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041"><tt class="docutils literal"><span class="pre">boost_1_35_0</span></tt><tt class="docutils literal"><span class="pre">.zip</span></tt></a> and use an external tool to decompress
it. We don't recommend using Windows' built-in decompression as
it can be painfully slow for large archives.</td></tr>
</tbody>
@ -830,7 +837,7 @@ have any source code mechanism for suppressing warnings.</td></tr>
<table class="docutils footnote" frame="void" id="distinct" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id18">[6]</a></td><td>This convention distinguishes the static version of
<tr><td class="label"><a class="fn-backref" href="#id19">[6]</a></td><td>This convention distinguishes the static version of
a Boost library from the import library for an
identically-configured Boost DLL, which would otherwise have the
same name.</td></tr>
@ -839,7 +846,7 @@ same name.</td></tr>
<table class="docutils footnote" frame="void" id="debug-abi" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id19">[7]</a></td><td>These libraries were compiled without optimization
<tr><td class="label"><a class="fn-backref" href="#id20">[7]</a></td><td>These libraries were compiled without optimization
or inlining, with full debug symbols enabled, and without
<tt class="docutils literal"><span class="pre">NDEBUG</span></tt> <tt class="docutils literal"><span class="pre">#define</span></tt>d. Although it's true that sometimes
these choices don't affect binary compatibility with other
@ -849,7 +856,7 @@ compiled code, you can't count on that with Boost libraries.</td></tr>
<table class="docutils footnote" frame="void" id="native" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id20">[8]</a></td><td>This feature of STLPort is deprecated because it's
<tr><td class="label"><a class="fn-backref" href="#id21">[8]</a></td><td>This feature of STLPort is deprecated because it's
impossible to make it work transparently to the user; we don't
recommend it.</td></tr>
</tbody>

View File

@ -186,8 +186,8 @@ now.
__ `Link Your Program to a Boost Library`_
Or, Build and Install Binaries From Source
------------------------------------------
Or, Build Binaries From Source
------------------------------
If you're using an earlier version of Visual C++, or a compiler
from another vendor, you'll need to use Boost.Build_ to create your
@ -199,13 +199,15 @@ For example, your session might look like this: [#continuation]_
.. parsed-literal::
C:\WINDOWS> cd |default-root|
C:\\WINDOWS> cd |default-root|
|default-root|> bjam **^**
More? **--build-dir=**\ %TEMP%\\build-boost **^**
More? **--build-dir=**\ C:\\temp\\build-boost **^**
More? **--toolset=**\ msvc stage
.. include:: detail/build-from-source-tail.rst
.. _auto-linking:
.. include:: detail/link-head.rst
.. Admonition:: Auto-Linking
@ -217,6 +219,13 @@ For example, your session might look like this: [#continuation]_
object files; the linker selects the library with that name from
the directories you've told it to search.
The GCC toolchains (Cygwin and MinGW) are notable exceptions;
GCC users should refer to the `linking instructions for Unix
variant OSes`__ for the appropriate command-line options to use.
__ unix-variants.html#link-your-program-to-a-boost-library
Link From Within the Visual Studio IDE
--------------------------------------

View File

@ -154,7 +154,9 @@ div.admonition p.admonition-title {
</dl>
</dd>
<dt><a href="#sandbox">Boost Sandbox CVS</a></dt>
<dt><a href="#sandbox">Boost Sandbox</a></dt>
<dt><a href="#IRC">#boost IRC channel</a></dt>
<dt><a href="#IRC">#boost IRC channel</a></dt>
</dl>
@ -210,17 +212,8 @@ div.admonition p.admonition-title {
<h3><a name="archive" id="archive">Archives</a> for Boost developers
list</h3>
<p>A <a href=
"http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/boost/">searchable
mailing list archive</a> has been generously contributed to the <a href=
"http://aspn.activestate.com">ActiveState Programmer Network</a> by
<a href="http://aspn.activestate.com">ActiveState Corporation</a>. <a href=
"http://aspn.activestate.com"><img alt="ASPN logo" align="top" src=
"http://www.activestate.com/img/ASPN_logo_smallest.gif" width="65" height=
"20"></a><a href="http://www.activestate.com"><img alt="Active State logo"
align="top" src="http://aspn.activestate.com/ASPN/img/ASLogo_57x25.gif"
width="57" height= "25"></a></p>Other archives of Boost messages include the
<a href="http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.devel">Boost
<p>Archives of Boost messages include the
<a href="http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.devel">Boost
GMane NNTP Archive</a>, <a href=
"http://www.mail-archive.com/boost%40lists.boost.org/">The Mail
Archive</a>, <a
@ -239,12 +232,13 @@ div.admonition p.admonition-title {
<h2>Boost Interest Mailing List</h2>
<p>This list is a moderated low-traffic announcement-only list of interest
to the Boost community. On topic messages will include announcements of
books, magazine articles, papers, talks, seminars, products, tools, events,
or conferences on advanced uses of C++,
generic/generative/meta-programming, and, of course, the Boost libraries.
Off topic will be discussion of any kind and job postings. Subscribe or
<p>This list is a moderated low-traffic announcement-only list of
interest to the Boost community. On topic messages will include
announcements of books, magazine articles, papers, talks, seminars,
products, tools, events, or conferences on advanced uses of C++,
generic/generative/meta-programming, and, of course, the Boost
libraries. Off topic will be discussion of any kind. Job postings
are accepted at the moderators' discretion. Subscribe or
unsubscribe at the <a href=
"http://lists.boost.org/mailman/listinfo.cgi/boost-interest">Boost-Interest
home page</a>.</p>
@ -364,27 +358,37 @@ div.admonition p.admonition-title {
access</a> and <a href=
"http://news.gmane.org/gmane.comp.lib.boost.testing">Searchable
Archives</a> are available on <a href="http://www.gmane.org">GMane</a>.
<h3>Boost Subversion Commit Messages</h3>
<p>The <a
href="http://lists.boost.org/mailman/listinfo.cgi/boost-commit">boost-commit</a>
mailing list receives messages whenever a change is committed to
the Boost Subversion repository.</p>
</dd>
</dl>
<h2>Boost <a name="sandbox" id="sandbox">Sandbox</a> CVS</h2>
<h2>Boost <a name="sandbox" id="sandbox">Sandbox</a></h2>
<p>In addition to the main <a href="getting_started.html#CVS">Boost CVS
repository</a>, a separate Sandbox CVS is available for Boost developers
repository</a>, a separate Sandbox is available for Boost developers
wishing to collaborate on projects prior to formal acceptance of a new
library.&nbsp; Read-only access is available <a href=
"http://boost.cvs.sourceforge.net/boost-sandbox/boost-sandbox/">
via the web</a>, or via CVS client at:</p>
library.&nbsp; Read-only access is available via Subversion and web browser at
<a href=
"http://svn.boost.org/svn/boost/sandbox">http://svn.boost.org/svn/boost/sandbox</a>.
<blockquote>
<p>
&nbsp;<code>:pserver:anonymous@boost-sandbox.cvs.sourceforge.net:/cvsroot/boost-sandbox</code></p>
</blockquote>
<p>Developer access to the sandbox uses the Subversion repository
at <a href=
"https://svn.boost.org/svn/boost/sandbox">https://svn.boost.org/svn/boost/sandbox</a>. For more information about the Boost Subversion repository,
please
see <a href="http://svn.boost.org">http://svn.boost.org</a>.</p>
<p><b>For write access</b> to the sandbox, contact the project admins
listed on its <a href=
"http://sourceforge.net/projects/boost-sandbox/">Sourceforge Project
Page</a>.</p>
<h2>#boost <a name="IRC" id="IRC">IRC</a> channel</h2>
<p>In addition to the mailing lists presented above, a #boost IRC channel on
<a href="http://freenode.net">freenode</a> is frequented by some boost users.
As usual with IRC channels, one should not necessarily expect that his questions
will be answered. The channel is not moderated.</p>
<h2>#boost <a name="IRC" id="IRC">IRC</a> channel</h2>

View File

@ -56,10 +56,10 @@ which solves Traveling Salesperson problems in linear time?&quot;</p>
should be plain text; not rich text, HTML, etc.</p>
<p>Please don't post lengthy descriptions, documentation, or code to the mailing
list, and no attachments, even small ones.&nbsp; Please post lengthy material in
the boost <a href="http://boost-sandbox.sourceforge.net/vault/">Sandbox Vault</a>.&nbsp;</p>
the <a href="http://boost-consulting.com/vault/">Boost Vault</a>.&nbsp;</p>
<h2><a name="Preliminary">Preliminary</a> submission</h2>
<p>If response to an initial query indicates interest, then post the preliminary
submission files in the <a href="http://boost-sandbox.sourceforge.net/vault/">Sandbox Vault</a> on
submission files in the <a href="http://boost-consulting.com/vault/">Boost Vault</a> on
the sourceforge web site if you haven't already done so.</p>
<h2><a name="Refinement">Refinement</a></h2>
<p>Discuss, refine, resubmit.&nbsp; Repeat until satisfied.</p>
@ -82,8 +82,7 @@ commercial compressor-archiver utilities also support this format.</p>
boost.org web site.&nbsp; The closer the submission file mirrors the final
<a href="lib_guide.htm#Directory_structure">directory
structure</a> and format of the web site, the better.
<p>Like a preliminary submission, post the final submission .zip file in the <a href="http://boost-sandbox.sourceforge.net/vault/">Sandbox Vault</a> of
the sourceforge site.
<p>Like a preliminary submission, post the final submission .zip file in the <a href="http://boost-consulting.com/vault/">Boost Vault</a>.
<h2>Formal <a name="Review">Review</a></h2>
<p>Before asking for formal review, your submission should be posted in the
Boost files/vault. Please verify that your submission compiles