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 <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#users">boost-users list</a>,
<a href="http://www.boost.org/more/mailing_lists.htm#main">boost mailing <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 list</a>, or our <a href="http://svn.boost.org/trac/boost/report">bug
tracking facility</a> at SourceForge; submitting it to either of the mailing tracking facility</a>; submitting it to either of the mailing
lists is a preferred way - because many of the Boost developers read the 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, 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 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="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document"> <meta name="ProgId" content="FrontPage.Editor.Document">
<title>Boost Formal Review Process</title> <title>Boost Formal Review Process</title>
</head> <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"> <body bgcolor="#FFFFFF" text="#000000">
<table border="1" bgcolor="#007F7F" cellpadding="2"> <table border="1" bgcolor="#007F7F" cellpadding="2">
<tr> <tr>
<td bgcolor="#FFFFFF"><img src="../boost.png" alt= <td bgcolor="#FFFFFF"><img src="../boost.png" alt=
"boost.png (6897 bytes)" width="277" height="86"></td> "boost.png (6897 bytes)" width="277" height="86"></td>
<td><a href="../index.htm"><font face="Arial" color= <td><a href="../index.htm"><font face="Arial" color=
"#FFFFFF"><big>Home</big></font></a></td> "#FFFFFF"><big>Home</big></font></a></td>
<td><a href="../libs/libraries.htm"><font face="Arial" color= <td><a href="../libs/libraries.htm"><font face="Arial" color=
"#FFFFFF"><big>Libraries</big></font></a></td> "#FFFFFF"><big>Libraries</big></font></a></td>
<td><a href="../people/people.htm"><font face="Arial" color= <td><a href="../people/people.htm"><font face="Arial" color=
"#FFFFFF"><big>People</big></font></a></td> "#FFFFFF"><big>People</big></font></a></td>
<td><a href="faq.htm"><font face="Arial" color= <td><a href="faq.htm"><font face="Arial" color=
"#FFFFFF"><big>FAQ</big></font></a></td> "#FFFFFF"><big>FAQ</big></font></a></td>
<td><a href="index.htm"><font face="Arial" color= <td><a href="index.htm"><font face="Arial" color=
"#FFFFFF"><big>More</big></font></a></td> "#FFFFFF"><big>More</big></font></a></td>
</tr> </tr>
</table> </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> <p><a href="#Introduction">Introduction</a><br>
<a href="#Comments">What to include in Review Comments</a><br> <a href="#Comments">What to include in Review Comments</a><br>
<a href="#Results">Results</a><br> <a href="#Results">Results</a><br>
<a href="#Review_Manager">Notes for Review Managers</a><br> <a href="#Review_Manager">Notes for Review Managers</a><br>
<a href="#Submitters">Notes for Library Submitters</a><br> <a href="#Submitters">Notes for Library Submitters</a><br>
<a href="#Wizard">Review Wizard</a><br> <a href="#Wizard">Review Wizard</a><br>
<a href="#Fast-Track">Fast Track Reviews</a></p> <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 <p>Proposed libraries are accepted into Boost only after undergoing a
formal review, where Boost mailing list members comment on their formal review, where Boost mailing list members comment on their evaluation
evaluation of the library.</p> of the library.</p>
<p>The final "accept" or "reject" decision is made by the <a href= <p>The final "accept" or "reject" decision is made by the <a href=
"#Review_Manager">Review Manager</a>, based on the review comments "#Review_Manager">Review Manager</a>, based on the review comments received
received from boost mailing list members.</p> from boost mailing list members.</p>
<p>Boost mailing list members are encouraged to submit Formal Review <p>Boost mailing list members are encouraged to submit Formal Review
comments:</p> comments:</p>
<blockquote> <blockquote>
<ul> <ul>
<li>Publicly on the mailing list.</li> <li>Publicly on the mailing list.</li>
<li>Privately to the Review Manager.</li> <li>Privately to the Review Manager.</li>
</ul> </ul>
</blockquote> </blockquote>
<p>Private comments to a library submitter may be helpful to her or him, <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 but won't help the Review Manager reach a decision, so the other forms are
are preferred.</p> 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 <p>Your comments may be brief or lengthy, but basically the Review Manager
Manager needs your evaluation of the library.&nbsp; If you identify needs your evaluation of the library.&nbsp; If you identify problems along
problems along the way, please note if they are minor, serious, or the way, please note if they are minor, serious, or showstoppers.</p>
showstoppers.</p>
<p>The goal of a Boost library review is to improve the library through <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 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> <p>Here are some questions you might want to answer in your review:</p>
<ul> <ul>
<li>What is your evaluation of the design?<br> <li>What is your evaluation of the design?<br></li>
</li>
<li>What is your evaluation of the implementation?<br> <li>What is your evaluation of the implementation?<br></li>
</li>
<li>What is your evaluation of the documentation?<br> <li>What is your evaluation of the documentation?<br></li>
</li>
<li>What is your evaluation of the potential usefulness of the <li>What is your evaluation of the potential usefulness of the
library?<br> library?<br></li>
</li>
<li>Did you try to use the library?&nbsp; With what compiler?&nbsp; Did <li>Did you try to use the library?&nbsp; With what compiler?&nbsp; Did
you have any problems?<br> you have any problems?<br></li>
</li>
<li>How much effort did you put into your evaluation? A glance? A quick <li>How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?<br> reading? In-depth study?<br></li>
</li>
<li>Are you knowledgeable about the problem domain?</li> <li>Are you knowledgeable about the problem domain?</li>
</ul> </ul>
<p>And finally, every review should answer this question:<br> <p>And finally, every review should answer this question:<br></p>
</p>
<ul> <ul>
<li>Do you think the library should be accepted as a Boost <li>Do you think the library should be accepted as a Boost library?&nbsp;
library?&nbsp; Be sure to say this explicitly so that your other Be sure to say this explicitly so that your other comments don't obscure
comments don't obscure your overall opinion.</li> your overall opinion.</li>
</ul> </ul>
<p>Many reviews include questions for library authors. Authors are <p>Many reviews include questions for library authors. Authors are
interested in defending their library against your criticisms; otherwise interested in defending their library against your criticisms; otherwise
@@ -137,60 +160,59 @@
<h2><a name="Results">Results</a></h2> <h2><a name="Results">Results</a></h2>
<p>At the conclusion of the comment period, the Review Manager will post <p>At the conclusion of the comment period, the Review Manager will post a
a message to the mailing list saying if the library has been accepted or 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 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 Review Manager. If there are suggestions, or conditions that must be met
before final inclusion, they should be stated.</p> 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 <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 member not connected with the library submission must volunteer to be the
"Review Manager" for the library.</p> "Review Manager" for the library.</p>
<p>The Review Manager:</p> <p>The Review Manager:</p>
<ul> <ul>
<li>Checks the submission to make sure it really is complete enough to <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 warrant formal review.&nbsp; See the <a href="lib_guide.htm">Boost
Library Requirements and Guidelines</a>.&nbsp; If necessary, work with Library Requirements and Guidelines</a>.&nbsp; If necessary, work with
the submitter to verify the code compiles and runs correctly on several the submitter to verify the code compiles and runs correctly on several
compilers and platforms.</li> compilers and platforms.</li>
<li>Finalizes the schedule with the <a href="#Wizard">Review Wizard</a> <li>Finalizes the schedule with the <a href="#Wizard">Review Wizard</a>
and the submitter .</li> and the submitter .</li>
<li> <li>Posts a notice of the review schedule on the regular <b><a href=
Posts a notice of the review schedule on the "mailto:boost@lists.boost.org">boost</a></b> mailing list, the
regular <b><a href= "mailto:boost@lists.boost.org">boost</a></b> <b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b>
mailing list, mailing list, and the <b><a href=
the <b><a href="mailto:boost-users@lists.boost.org">boost-users</a></b> "mailto:boost-announce@lists.boost.org">boost-announce</a></b> mailing
mailing list, and the list.
<b><a href="mailto:boost-announce@lists.boost.org">boost-announce</a></b>
mailing list.
<ul> <ul>
<li>The notice should include a brief description of the library <li>The notice should include a brief description of the library and
and what it does, to let readers know if the library is one they what it does, to let readers know if the library is one they are
are interested in reviewing.</li> interested in reviewing.</li>
<li>If the library is known to fail with certain compilers, please <li>If the library is known to fail with certain compilers, please
mention them in the review notice so reviewers with those compilers mention them in the review notice so reviewers with those compilers
won't waste time diagnosing known problems.</li> won't waste time diagnosing known problems.</li>
</ul> </ul>
</li> </li>
<li>Inspects the Boost <a href="../libs/libraries.htm">library <li>Inspects the Boost <a href="../libs/libraries.htm">library
catalogue</a> for libraries which may interact with the new submission. catalogue</a> for libraries which may interact with the new submission.
These potential interactions should be pointed out in the review These potential interactions should be pointed out in the review
announcement, and the author(s) of these libraries should be privately announcement, and the author(s) of these libraries should be privately
notified and urged to participate in the review.</li> 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 <li>Follows review discussions regarding the library, moderating or
answering questions as needed.</li> answering questions as needed.</li>
<li>Asks the <a href="#Wizard">review wizard</a> for permission <li>Asks the <a href="#Wizard">review wizard</a> for permission
to extend the review schedule if it appears that too few reviews will 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 <li>Decides if there is consensus to accept the library, and if there
are any conditions attached.</li> are any conditions attached.</li>
<li> <li>Decides if there is consensus to accept the library, and if there are
Posts a notice of the <a href="#Results">review results</a> on the any conditions attached.</li>
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>
<p>In other words, it is the Review Manager's responsibility to make sure <li>Posts a notice of the <a href="#Results">review results</a> on the
the review process works smoothly.</p> 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 <h2>Notes for Library <a name="Submitters" id=
description of the steps a library developer goes through to get a "Submitters">Submitters</a></h2>
library accepted by Boost.</p>
<p>A proposed library should remain stable during the review period; it <p>See <a href="submission_process.htm">Submission Process</a> for a
will just confuse and irritate reviewers if there are numerous description of the steps a library developer goes through to get a library
changes.&nbsp; It is, however, useful to upload fixes for serious bugs accepted by Boost.</p>
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>Library improvements suggested by reviewers should normally be held <p>A proposed library should remain stable during the review period; it
until after the completion of review period.&nbsp; If the suggested will just confuse and irritate reviewers if there are numerous
changes might affect reviewer's judgments,&nbsp;post a notice of the changes.&nbsp; It is, however, useful to upload fixes for serious bugs
pending change on the mailing list.</p> 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> <p>The Review Wizard coordinates the formal review schedule:</p>
<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>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"> <li>When a formal review is requested for a library:</li>
&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>Finalize the schedule, once the review manager verifies the <li style="list-style: none">&nbsp;
library is actually ready for review.</li>
<li>Resolve schedule slips or other issues with review managers and <ul>
submitters.</li> <li>Assign a review manager and suggests a schedule, after checking
</ul> (via private email) availability of the volunteers at the top of
</li> review manager queue.</li>
<li>Maintains a schedule of both past and pending reviews, in the form <li>Finalize the schedule, once the review manager verifies the
of the <a href="formal_review_schedule.html">Review Schedule</a> web library is actually ready for review.</li>
page.</li>
<li>Resolves questions from review managers and library submitters, who <li>Resolve schedule slips or other issues with review managers and
sometimes want a third opinion on questions such as "Should we extend submitters.</li>
the review period because ...?"</li> </ul>
</li>
<li>Monitors the general review process, and makes minor adjustments as <li>Monitors the general review process, and makes minor adjustments as
needed, or queries the list about possible major adjustments.</li> 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 Phillips (phillips at mps dot ohio-state dot edu) and Ronald
Garcia (garcia at cs dot indiana dot edu). 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> <li>Monitors the general review process, and makes minor adjustments as
<p>To qualify for fast track review:</p> needed, or queries the list about possible major adjustments.</li>
<ul> </ul>The role of Boost Review Wizard is currently played by <a href=
<li>The component must be small.</li> "mailto:reportbase@yahoo.com">Tom Brinkman</a> and Ronald Garcia (garcia at
<li>The technique must be already in use in Boost libraries and the new cs dot indiana dot edu).
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 <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> <!--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>To qualify for fast track review:</p>
<p>
Distributed under the Boost Software License, Version 1.0. (See <ul>
accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy <li>The component must be small.</li>
at <a href=
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>) <li>The technique must be already in use in Boost libraries and the new
</p> component provides a common implementation.</li>
</body>
<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> </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 Alternatively, you can build ``bjam`` yourself using `these
instructions`__. instructions`__.
__ ../../doc/html/jam/building.html __ `building bjam`_
.. _toolset: .. _toolset:
@@ -38,6 +38,12 @@ Identify Your Toolset
First, find the toolset corresponding to your compiler in the First, find the toolset corresponding to your compiler in the
following table. 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 | |Toolset |Vendor |Notes |
|Name | | | |Name | | |
@@ -89,13 +95,10 @@ following table.
__ Boost.Build_ __ Boost.Build_
If you have multiple versions of a particular compiler installed, If you have multiple versions of a particular compiler installed,
you can append the version number to the toolset name, preceded by a you can append the version number to the toolset name, preceded by
hyphen, e.g. ``msvc-7.1`` or ``gcc-3.4``. 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:
.. _build-directory: .. _build-directory:

View File

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

View File

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

View File

@@ -24,6 +24,11 @@
**lib**\ |//| .....................\ *precompiled library binaries* **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`_ .. |command-line tool| replace:: `command-line tool`_
.. include:: common.rst .. include:: common.rst

View File

@@ -31,7 +31,7 @@ mailing list`_.
-- the Boost Developers -- 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.Jam reference manual: `Boost.Jam`_
.. _Boost Users' mailing list: ../../more/mailing_lists.htm#users .. _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 .. _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 .. This file contains all the definitions that need to be updated
.. for each new release of Boost. .. for each new release of Boost.
.. |boost-version-number| replace:: 1.34.0 .. |boost-version-number| replace:: 1.35.0
.. |boost_ver| replace:: ``boost_1_34_0`` .. |boost_ver| replace:: ``boost_1_35_0``
.. |boost_ver-bold| replace:: **boost_1_34_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>
<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="#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="#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="#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="#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> <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 <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> 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"> <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>
<li><p class="first">In the directory where you want to put the Boost installation, <li><p class="first">In the directory where you want to put the Boost installation,
execute</p> execute</p>
<pre class="literal-block"> <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> </pre>
</li> </li>
</ol> </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> <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> <p>This is a sketch of the resulting directory structure:</p>
<pre class="literal-block"> <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>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>boost</strong><strong>/</strong> .........................<em>All Boost Header files</em>
<tt class="docutils literal"> </tt> <tt class="docutils literal"> </tt>
@@ -136,7 +136,7 @@ anything you can use in these directories.</p>
</div> </div>
<p>It's important to note the following:</p> <p>It's important to note the following:</p>
<ol class="arabic" id="boost-root-directory"> <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 sometimes referred to as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and
mailing lists .</p> mailing lists .</p>
</li> </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 <p>Now, in the directory where you saved <tt class="docutils literal"><span class="pre">example.cpp</span></tt>, issue the
following command:</p> following command:</p>
<pre class="literal-block"> <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> </pre>
<p>To test the result, type:</p> <p>To test the result, type:</p>
<pre class="literal-block"> <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 <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> represents the shell's prompt):</p>
<pre class="literal-block"> <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 <strong>$</strong> ./configure --help
</pre> </pre>
<p>Select your configuration options and invoke <tt class="docutils literal"><span class="pre">./configure</span></tt> again <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> 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> <p><a class="reference internal" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></p>
</div> </div>
<div class="section" id="or-custom-build-and-install"> <div class="section" id="or-build-custom-binaries">
<h2><a class="toc-backref" href="#id25">5.2&nbsp;&nbsp;&nbsp;Or, Custom Build and Install</a></h2> <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 <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 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 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> <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 <p>First, find the toolset corresponding to your compiler in the
following table.</p> 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"> <table border="1" class="docutils">
<colgroup> <colgroup>
<col width="18%" /> <col width="18%" />
@@ -398,15 +404,9 @@ Boost.</td>
</tbody> </tbody>
</table> </table>
<p>If you have multiple versions of a particular compiler installed, <p>If you have multiple versions of a particular compiler installed,
you can append the version number to the toolset name, preceded by a you can append the version number to the toolset name, preceded by
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> a hyphen, e.g. <tt class="docutils literal"><span class="pre">intel-9.0</span></tt> or
<div class="note"> <tt class="docutils literal"><span class="pre">borland-5.4.3</span></tt>. <tt class="docutils literal"> </tt></p>
<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>
</div> </div>
<div class="section" id="select-a-build-directory"> <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> <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> </pre>
<p>For example, your session might look like this:</p> <p>For example, your session might look like this:</p>
<pre class="literal-block"> <pre class="literal-block">
$ cd ~/<tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt> $ 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 $ bjam <strong>--build-dir=</strong>/tmp/build-boost <strong>--toolset=</strong>gcc stage
</pre> </pre>
<!-- Copyright David Abrahams 2006. Distributed under the Boost --> <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
<!-- Software License, Version 1.0. (See accompanying --> <!-- Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <!-- 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> <p>Building the special <tt class="docutils literal"><span class="pre">stage</span></tt> target places Boost
subdirectory of your <a class="reference internal" href="#build-directory">build directory</a>.</p> 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"> <div class="note">
<p class="first admonition-title">Note</p> <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 <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"> <ol class="upperalpha">
<li><p class="first">You can specify the full path to each library:</p> <li><p class="first">You can specify the full path to each library:</p>
<pre class="literal-block"> <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> $ 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-gcc-3.4-mt-d-1_34.a</strong> <strong>~/boost/lib/libboost_regex-gcc34-mt-d-1_35.a</strong>
</pre> </pre>
</li> </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 <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> suffix (<tt class="docutils literal"><span class="pre">.a</span></tt> in this case):</p>
<pre class="literal-block"> <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> $ 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-gcc-3.4-mt-d-1_34</strong> <strong>-L~/boost/lib/ -lboost_regex-gcc34-mt-d-1_35</strong>
</pre> </pre>
<p>As you can see, this method is just as terse as method A for one <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 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' 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> mailing list</a>.</p>
<ul class="simple"> <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="../../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#users">Boost Users' mailing list</a></li>
<li><a class="reference external" href="../../more/mailing_lists.htm#jamboost">Boost.Build 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`_ __ `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 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 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:: .. parsed-literal::
$ cd ~/|boost_ver| $ 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 .. include:: detail/build-from-source-tail.rst
@@ -153,7 +153,7 @@ A. You can specify the full path to each library:
.. parsed-literal:: .. parsed-literal::
$ c++ -I |root| example.cpp -o example **\\** $ 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``\ B. You can separately specify a directory to search (with ``-L``\
*directory*) and a library name to search for (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:: .. parsed-literal::
$ c++ -I |root| example.cpp -o example **\\** $ 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 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 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"> <div class="contents topic" id="index">
<p class="topic-title first">Index</p> <p class="topic-title first">Index</p>
<ul class="auto-toc simple"> <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="#get-boost" id="id23">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="#the-boost-distribution" id="id24">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="#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="id25">4&nbsp;&nbsp;&nbsp;Build a Simple Program Using Boost</a><ul class="auto-toc"> <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="id26">4.1&nbsp;&nbsp;&nbsp;Build From the Visual Studio IDE</a></li> <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="id27">4.2&nbsp;&nbsp;&nbsp;Or, Build From the Command Prompt</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="id28">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li> <li><a class="reference internal" href="#errors-and-warnings" id="id29">4.3&nbsp;&nbsp;&nbsp;Errors and Warnings</a></li>
</ul> </ul>
</li> </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="#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="id30">5.1&nbsp;&nbsp;&nbsp;Install Visual Studio (2005 or .NET 2003) Binaries</a></li> <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-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="#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="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="#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="id33">5.2.2&nbsp;&nbsp;&nbsp;Identify Your Toolset</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="id34">5.2.3&nbsp;&nbsp;&nbsp;Select a Build Directory</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="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="#invoke-bjam" id="id36">5.2.4&nbsp;&nbsp;&nbsp;Invoke <tt class="docutils literal"><span class="pre">bjam</span></tt></a></li>
</ul> </ul>
</li> </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="#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="id37">5.4&nbsp;&nbsp;&nbsp;In Case of Build Errors</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> </ul>
</li> </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-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="id39">6.1&nbsp;&nbsp;&nbsp;Link From Within the Visual Studio IDE</a></li> <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="id40">6.2&nbsp;&nbsp;&nbsp;Or, Link From the Command Prompt</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="id41">6.3&nbsp;&nbsp;&nbsp;Library Naming</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="id42">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li> <li><a class="reference internal" href="#test-your-program" id="id43">6.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
</ul> </ul>
</li> </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> </ul>
</div> </div>
<div class="section" id="get-boost"> <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> <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 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 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> 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 <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 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> distribution.<a class="footnote-reference" href="#zip" id="id2"><sup>1</sup></a></p>
<!-- Copyright David Abrahams 2006. Distributed under the Boost --> <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
<!-- Software License, Version 1.0. (See accompanying --> <!-- Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div> </div>
<div class="section" id="the-boost-distribution"> <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> <p>This is a sketch of the resulting directory structure:</p>
<pre class="literal-block"> <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>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>boost</strong><strong>\</strong> .........................<em>All Boost Header files</em>
<strong>lib</strong><strong>\</strong> .....................<em>precompiled library binaries</em> <strong>lib</strong><strong>\</strong> .....................<em>precompiled library binaries</em>
@@ -124,7 +124,7 @@ anything you can use in these directories.</p>
</div> </div>
<p>It's important to note the following:</p> <p>It's important to note the following:</p>
<ol class="arabic" id="boost-root-directory"> <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 sometimes referred to as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and
mailing lists .</p> mailing lists .</p>
</li> </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) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div> </div>
<div class="section" id="header-only-libraries"> <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 <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> Boost?” The good news is that often, there's nothing to build.</p>
<div class="admonition-nothing-to-build admonition"> <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) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div> </div>
<div class="section" id="build-a-simple-program-using-boost"> <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. <p>To keep things simple, let's start by using a header-only library.
The following program reads a sequence of integers from standard The following program reads a sequence of integers from standard
input, uses Boost.Lambda to multiply each number by three, and 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> </pre>
<p>followed by Return. For example,</p> <p>followed by Return. For example,</p>
<pre class="literal-block"> <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> </pre>
<p class="last">Long commands can be continued across several lines by typing a <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 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> on this page use that technique to save horizontal space.</p>
</div> </div>
<div class="section" id="build-from-the-visual-studio-ide"> <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> <ul>
<li><p class="first">From Visual Studio's <em>File</em> menu, select <em>New</em> &gt; <em>Project…</em></p> <li><p class="first">From Visual Studio's <em>File</em> menu, select <em>New</em> &gt; <em>Project…</em></p>
</li> </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 <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> Directories</em>, enter the path to the Boost root directory, for example</p>
<blockquote> <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> </blockquote>
</li> </li>
<li><p class="first">In <em>Configuration Properties</em> &gt; <em>C/C++</em> &gt; <em>Precompiled Headers</em>, change <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> <p><a class="reference internal" href="#errors-and-warnings"><em>skip to the next step</em></a></p>
</div> </div>
<div class="section" id="or-build-from-the-command-prompt"> <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 <p>From your computer's <em>Start</em> menu, if you are a Visual
Studio 2005 user, select</p> Studio 2005 user, select</p>
<blockquote> <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 directory</a> to a suitable location for creating some temporary
files and type the following command followed by the Return key:</p> files and type the following command followed by the Return key:</p>
<pre class="literal-block"> <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> </pre>
<p>To test the result, type:</p> <p>To test the result, type:</p>
<pre class="literal-block"> <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) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div> </div>
<div class="section" id="errors-and-warnings"> <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 <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 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 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> </div>
<div class="section" id="prepare-to-use-a-boost-library-binary"> <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, <p>If you want to use any of the separately-compiled Boost libraries,
you'll need to acquire library binaries.</p> you'll need to acquire library binaries.</p>
<div class="section" id="install-visual-studio-2005-or-net-2003-binaries"> <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 <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 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 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 step. Otherwise, please run the installer again and install them
now.</p> now.</p>
<p><a class="reference internal" href="#link-your-program-to-a-boost-library"><em>skip to the next step</em></a></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>
<div class="section" id="or-build-and-install-binaries-from-source"> <div class="section" id="or-build-binaries-from-source">
<h2><a class="toc-backref" href="#id31">5.2&nbsp;&nbsp;&nbsp;Or, Build and Install Binaries From Source</a></h2> <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 <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 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> 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> <tt class="docutils literal"><span class="pre">bjam</span></tt>.</p>
<!-- .. _Boost.Jam documentation: Boost.Jam_ --> <!-- .. _Boost.Jam documentation: Boost.Jam_ -->
<div class="section" id="get-bjam"> <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 <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 system. To build Boost binaries, you'll invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> from the
Boost root.</p> Boost root.</p>
@@ -370,9 +370,15 @@ Alternatively, you can build <tt class="docutils literal"><span class="pre">bjam
instructions</a>.</p> instructions</a>.</p>
</div> </div>
<div class="section" id="identify-your-toolset"> <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 <p>First, find the toolset corresponding to your compiler in the
following table.</p> 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"> <table border="1" class="docutils">
<colgroup> <colgroup>
<col width="18%" /> <col width="18%" />
@@ -461,18 +467,15 @@ Boost.</td>
</tbody> </tbody>
</table> </table>
<p>If you have multiple versions of a particular compiler installed, <p>If you have multiple versions of a particular compiler installed,
you can append the version number to the toolset name, preceded by a you can append the version number to the toolset name, preceded by
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> a hyphen, e.g. <tt class="docutils literal"><span class="pre">intel-9.0</span></tt> or
<div class="note"> <tt class="docutils literal"><span class="pre">borland-5.4.3</span></tt>. <strong>On Windows, append a version
<p class="first admonition-title">Note</p> number even if you only have one version installed</strong> (unless you
<p class="last">if you built <tt class="docutils literal"><span class="pre">bjam</span></tt> yourself, you may are using the msvc or gcc toolsets, which have special version
have selected a toolset name for that purpose, but that does not detection code) or <a class="reference internal" href="#auto-linking">auto-linking</a> will fail.</p>
affect this step in any way; you still need to select a Boost.Build
toolset from the table.</p>
</div>
</div> </div>
<div class="section" id="select-a-build-directory"> <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 <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 building into the <strong>build directory</strong>. If your Boost root
directory is writable, this step isn't strictly necessary: by 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> purpose in your current working directory.</p>
</div> </div>
<div class="section" id="invoke-bjam"> <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 <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> invoke <tt class="docutils literal"><span class="pre">bjam</span></tt> as follows:</p>
<pre class="literal-block"> <pre class="literal-block">
@@ -488,16 +491,17 @@ bjam <strong>--build-dir=</strong><a class="reference internal" href="#id12"><em
</pre> </pre>
<p>For example, your session might look like this:<a class="footnote-reference" href="#continuation" id="id13"><sup>4</sup></a></p> <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"> <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> 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_34_0</span></tt>&gt; bjam <strong>^</strong> <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>%TEMP%\build-boost <strong>^</strong> More? <strong>--build-dir=</strong>C:\temp\build-boost <strong>^</strong>
More? <strong>--toolset=</strong>msvc stage More? <strong>--toolset=</strong>msvc stage
</pre> </pre>
<!-- Copyright David Abrahams 2006. Distributed under the Boost --> <!-- Copyright David Abrahams 2006. Distributed under the Boost -->
<!-- Software License, Version 1.0. (See accompanying --> <!-- Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <!-- 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> <p>Building the special <tt class="docutils literal"><span class="pre">stage</span></tt> target places Boost
subdirectory of your <a class="reference internal" href="#build-directory">build directory</a>.</p> 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"> <div class="note">
<p class="first admonition-title">Note</p> <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 <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> </div>
<div class="section" id="expected-build-output"> <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 <p>During the process of building Boost libraries, you can expect to
see some messages printed on the console. These may include</p> see some messages printed on the console. These may include</p>
<ul> <ul>
@@ -543,7 +547,7 @@ look something like:</p>
</ul> </ul>
</div> </div>
<div class="section" id="in-case-of-build-errors"> <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 <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 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 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 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 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> <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 --> <!-- Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div> </div>
</div> </div>
<div class="section" id="link-your-program-to-a-boost-library"> <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 <p>To demonstrate linking with a Boost binary library, we'll use the
following simple program that extracts the subject lines from 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 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> </ol>
<div class="admonition-auto-linking admonition"> <div class="admonition-auto-linking admonition">
<p class="first admonition-title">Auto-Linking</p> <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 support,” which eliminates the second challenge. Special code in
Boost header files detects your compiler options and uses that Boost header files detects your compiler options and uses that
information to encode the name of the correct library into your information to encode the name of the correct library into your
object files; the linker selects the library with that name from object files; the linker selects the library with that name from
the directories you've told it to search.</p> 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>
<div class="section" id="link-from-within-the-visual-studio-ide"> <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 <p>Starting with the <a class="reference internal" href="#vs-header-only">header-only example project</a> we created
earlier:</p> earlier:</p>
<ol class="arabic simple"> <ol class="arabic simple">
@@ -611,24 +618,24 @@ earlier:</p>
select <em>Properties</em> from the resulting pop-up menu</li> 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 <li>In <em>Configuration Properties</em> &gt; <em>Linker</em> &gt; <em>Additional Library
Directories</em>, enter the path to the Boost binaries, 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> <li>From the <em>Build</em> menu, select <em>Build Solution</em>.</li>
</ol> </ol>
<p><a class="reference internal" href="#test-your-program"><em>skip to the next step</em></a></p> <p><a class="reference internal" href="#test-your-program"><em>skip to the next step</em></a></p>
</div> </div>
<div class="section" id="or-link-from-the-command-prompt"> <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 <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 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 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"> <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> 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_34_0</strong><strong>\lib</strong> <strong>/link /LIBPATH:</strong> <strong>C:\Program Files\boost\</strong><strong>boost_1_35_0</strong><strong>\lib</strong>
</pre> </pre>
</div> </div>
<div class="section" id="library-naming"> <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"> <div class="note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p>If, like Visual C++, your compiler supports auto-linking, <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 <dd><em>Prefix</em>: except on Microsoft Windows, every Boost library
name begins with this string. On Windows, only ordinary static 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 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> <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> <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> <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> <td>using a special <a class="reference external" href="../../libs/python/doc/building.html#variants">debug build of Python</a>.</td>
</tr> </tr>
<tr><td><tt class="docutils literal"><span class="pre">d</span></tt></td> <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>
<tr><td><tt class="docutils literal"><span class="pre">p</span></tt></td> <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 <td>using the STLPort standard library rather than the default one supplied with
your compiler.</td> your compiler.</td>
</tr> </tr>
<tr><td><tt class="docutils literal"><span class="pre">n</span></tt></td> <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> </tr>
</tbody> </tbody>
</table> </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) --> <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
</div> </div>
<div class="section" id="test-your-program"> <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 <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> 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"> <pre class="literal-block">
@@ -750,7 +757,7 @@ Spoil Rock Hunter?”</p>
</div> </div>
</div> </div>
<div class="section" id="conclusion-and-further-resources"> <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 <p>This concludes your introduction to Boost and to integrating it
with your programs. As you start using Boost in earnest, there are 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 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' 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> mailing list</a>.</p>
<ul class="simple"> <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="../../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#users">Boost Users' mailing list</a></li>
<li><a class="reference external" href="../../more/mailing_lists.htm#jamboost">Boost.Build 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> <colgroup><col class="label" /><col /></colgroup>
<tbody valign="top"> <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, <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. We don't recommend using Windows' built-in decompression as
it can be painfully slow for large archives.</td></tr> it can be painfully slow for large archives.</td></tr>
</tbody> </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"> <table class="docutils footnote" frame="void" id="distinct" rules="none">
<colgroup><col class="label" /><col /></colgroup> <colgroup><col class="label" /><col /></colgroup>
<tbody valign="top"> <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 a Boost library from the import library for an
identically-configured Boost DLL, which would otherwise have the identically-configured Boost DLL, which would otherwise have the
same name.</td></tr> same name.</td></tr>
@@ -839,7 +846,7 @@ same name.</td></tr>
<table class="docutils footnote" frame="void" id="debug-abi" rules="none"> <table class="docutils footnote" frame="void" id="debug-abi" rules="none">
<colgroup><col class="label" /><col /></colgroup> <colgroup><col class="label" /><col /></colgroup>
<tbody valign="top"> <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 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 <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 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"> <table class="docutils footnote" frame="void" id="native" rules="none">
<colgroup><col class="label" /><col /></colgroup> <colgroup><col class="label" /><col /></colgroup>
<tbody valign="top"> <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 impossible to make it work transparently to the user; we don't
recommend it.</td></tr> recommend it.</td></tr>
</tbody> </tbody>

View File

@@ -186,8 +186,8 @@ now.
__ `Link Your Program to a Boost Library`_ __ `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 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 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:: .. parsed-literal::
C:\WINDOWS> cd |default-root| C:\\WINDOWS> cd |default-root|
|default-root|> bjam **^** |default-root|> bjam **^**
More? **--build-dir=**\ %TEMP%\\build-boost **^** More? **--build-dir=**\ C:\\temp\\build-boost **^**
More? **--toolset=**\ msvc stage More? **--toolset=**\ msvc stage
.. include:: detail/build-from-source-tail.rst .. include:: detail/build-from-source-tail.rst
.. _auto-linking:
.. include:: detail/link-head.rst .. include:: detail/link-head.rst
.. Admonition:: Auto-Linking .. 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 object files; the linker selects the library with that name from
the directories you've told it to search. 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 Link From Within the Visual Studio IDE
-------------------------------------- --------------------------------------

View File

@@ -154,7 +154,9 @@ div.admonition p.admonition-title {
</dl> </dl>
</dd> </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> <dt><a href="#IRC">#boost IRC channel</a></dt>
</dl> </dl>
@@ -210,17 +212,8 @@ div.admonition p.admonition-title {
<h3><a name="archive" id="archive">Archives</a> for Boost developers <h3><a name="archive" id="archive">Archives</a> for Boost developers
list</h3> list</h3>
<p>A <a href= <p>Archives of Boost messages include the
"http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/boost/">searchable <a href="http://news.gmane.org/thread.php?group=gmane.comp.lib.boost.devel">Boost
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
GMane NNTP Archive</a>, <a href= GMane NNTP Archive</a>, <a href=
"http://www.mail-archive.com/boost%40lists.boost.org/">The Mail "http://www.mail-archive.com/boost%40lists.boost.org/">The Mail
Archive</a>, <a Archive</a>, <a
@@ -239,12 +232,13 @@ div.admonition p.admonition-title {
<h2>Boost Interest Mailing List</h2> <h2>Boost Interest Mailing List</h2>
<p>This list is a moderated low-traffic announcement-only list of interest <p>This list is a moderated low-traffic announcement-only list of
to the Boost community. On topic messages will include announcements of interest to the Boost community. On topic messages will include
books, magazine articles, papers, talks, seminars, products, tools, events, announcements of books, magazine articles, papers, talks, seminars,
or conferences on advanced uses of C++, products, tools, events, or conferences on advanced uses of C++,
generic/generative/meta-programming, and, of course, the Boost libraries. generic/generative/meta-programming, and, of course, the Boost
Off topic will be discussion of any kind and job postings. Subscribe or libraries. Off topic will be discussion of any kind. Job postings
are accepted at the moderators' discretion. Subscribe or
unsubscribe at the <a href= unsubscribe at the <a href=
"http://lists.boost.org/mailman/listinfo.cgi/boost-interest">Boost-Interest "http://lists.boost.org/mailman/listinfo.cgi/boost-interest">Boost-Interest
home page</a>.</p> home page</a>.</p>
@@ -364,27 +358,37 @@ div.admonition p.admonition-title {
access</a> and <a href= access</a> and <a href=
"http://news.gmane.org/gmane.comp.lib.boost.testing">Searchable "http://news.gmane.org/gmane.comp.lib.boost.testing">Searchable
Archives</a> are available on <a href="http://www.gmane.org">GMane</a>. 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> </dd>
</dl> </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 <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 wishing to collaborate on projects prior to formal acceptance of a new
library.&nbsp; Read-only access is available <a href= library.&nbsp; Read-only access is available via Subversion and web browser at
"http://boost.cvs.sourceforge.net/boost-sandbox/boost-sandbox/"> <a href=
via the web</a>, or via CVS client at:</p> "http://svn.boost.org/svn/boost/sandbox">http://svn.boost.org/svn/boost/sandbox</a>.
<blockquote> <p>Developer access to the sandbox uses the Subversion repository
<p> at <a href=
&nbsp;<code>:pserver:anonymous@boost-sandbox.cvs.sourceforge.net:/cvsroot/boost-sandbox</code></p> "https://svn.boost.org/svn/boost/sandbox">https://svn.boost.org/svn/boost/sandbox</a>. For more information about the Boost Subversion repository,
</blockquote> 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 <h2>#boost <a name="IRC" id="IRC">IRC</a> channel</h2>
listed on its <a href=
"http://sourceforge.net/projects/boost-sandbox/">Sourceforge Project <p>In addition to the mailing lists presented above, a #boost IRC channel on
Page</a>.</p> <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> <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> should be plain text; not rich text, HTML, etc.</p>
<p>Please don't post lengthy descriptions, documentation, or code to the mailing <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 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> <h2><a name="Preliminary">Preliminary</a> submission</h2>
<p>If response to an initial query indicates interest, then post the preliminary <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> the sourceforge web site if you haven't already done so.</p>
<h2><a name="Refinement">Refinement</a></h2> <h2><a name="Refinement">Refinement</a></h2>
<p>Discuss, refine, resubmit.&nbsp; Repeat until satisfied.</p> <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 boost.org web site.&nbsp; The closer the submission file mirrors the final
<a href="lib_guide.htm#Directory_structure">directory <a href="lib_guide.htm#Directory_structure">directory
structure</a> and format of the web site, the better. 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 <p>Like a preliminary submission, post the final submission .zip file in the <a href="http://boost-consulting.com/vault/">Boost Vault</a>.
the sourceforge site.
<h2>Formal <a name="Review">Review</a></h2> <h2>Formal <a name="Review">Review</a></h2>
<p>Before asking for formal review, your submission should be posted in the <p>Before asking for formal review, your submission should be posted in the
Boost files/vault. Please verify that your submission compiles Boost files/vault. Please verify that your submission compiles