Improve (but don't fix) collision avoidance between |winroot-default|

and sidebar on FireFox.

Correct notes about library extensions for GCC on Windows.

Correct broken links to reference material.


[SVN r36336]
This commit is contained in:
Dave Abrahams 2006-12-12 00:39:45 +00:00
parent 7a0d8dd26f
commit dbbc181717
2 changed files with 63 additions and 67 deletions

View File

@ -44,7 +44,7 @@
<li><a class="reference" href="#test-your-program" id="id48" name="id48">7.4&nbsp;&nbsp;&nbsp;Test Your Program</a></li>
</ul>
</li>
<li><a class="reference" href="#further-resources" id="id49" name="id49">8&nbsp;&nbsp;&nbsp;Further Resources</a></li>
<li><a class="reference" href="#conclusion-and-further-resources" id="id49" name="id49">8&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></li>
<li><a class="reference" href="#appendix-using-command-line-tools-in-windows" id="id50" name="id50">9&nbsp;&nbsp;&nbsp;Appendix: Using command-line tools in Windows</a></li>
</ul>
</div>
@ -86,13 +86,6 @@ users.</p>
Windows users cover only the Visual Studio .NET 2003 and Visual
Studio 2005. We hope that gives you enough information to adapt
them for your own compiler or IDE.</p>
<div class="admonition-onward admonition">
<p class="first admonition-title">Onward</p>
<blockquote class="epigraph last">
<p>Good luck, and have fun!</p>
<p class="attribution">&mdash;the Boost Developers</p>
</blockquote>
</div>
</div>
</div>
<div class="section">
@ -174,7 +167,7 @@ expect to find anything you can use.</li>
<ol class="arabic">
<li><p class="first">The path to the “boost root directory” is sometimes referred to
as <tt class="docutils literal"><span class="pre">$BOOST_ROOT</span></tt> in documentation and mailing lists. If you
used the Windows installer, that will usually be <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>
used the Windows installer, that will usually be <tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>.</p>
</li>
<li><p class="first">To compile anything in Boost, you need a directory containing
the <tt class="docutils literal"><span class="pre">boost/</span></tt> subdirectory in your <tt class="docutils literal"><span class="pre">#include</span></tt> path. For most
@ -313,7 +306,7 @@ select <em>Visual C++</em> &gt; <em>Win32</em>.</li>
select <em>Properties</em> from the resulting pop-up menu</li>
<li>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, 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>.</li>
<tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>.</li>
<li>In <em>Configuration Properties</em> &gt; <em>C/C++</em> &gt; <em>Precompiled Headers</em>, change
<em>Use Precompiled Header (/Yu)</em> to <em>Not Using Precompiled
Headers</em>.<a class="footnote-reference" href="#pch" id="id9" name="id9"><sup>5</sup></a></li>
@ -347,7 +340,7 @@ you'll need library binaries.</p>
<h2><a class="toc-backref" href="#id39" id="install-visual-studio-binaries" name="install-visual-studio-binaries">6.1&nbsp;&nbsp;&nbsp;Install Visual Studio Binaries</a></h2>
<p>The <a class="reference" href="http://www.boost-consulting.com/download.html">Windows installer</a> supplied by Boost Consulting will download
and install pre-compiled binaries into the <tt class="docutils literal"><span class="pre">lib\</span></tt> subdirectory of
the boost root, typically <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>.</p>
the boost root, typically <tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\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>
<p><a class="reference" href="#link-your-program-to-a-boost-library"><em>next...</em></a></p>
</div>
<div class="section">
@ -514,8 +507,8 @@ bjam <strong>--build-dir=</strong><a class="reference" href="#id15"><em>build-di
</pre>
<p>For example, on Windows, your session might look like:</p>
<pre class="literal-block">
C:WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
<tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>&gt; bjam <strong>\</strong>
C:WINDOWS&gt; cd <tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
<tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>&gt; bjam <strong>\</strong>
<strong>--build-dir=</strong>%TEMP%\build-boost <strong>\</strong>
<strong>--toolset=msvc stage</strong>
</pre>
@ -574,7 +567,7 @@ linker, consider setting up a <tt class="docutils literal"><span class="pre">use
in the <a class="reference" href="../tools/build/index.html">Boost.Build documentation</a>. If that isn't your problem or
the <tt class="docutils literal"><span class="pre">user-config.jam</span></tt> file doesn't work for you, please address
questions about configuring Boost for your compiler to the
<a class="reference" href="http://boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
<a class="reference" href="mailing_lists.htm#jamboost">Boost.Build mailing list</a>.</p>
</div>
</div>
<div class="section">
@ -618,19 +611,18 @@ consider.</p>
</div>
<div class="section">
<h2><a class="toc-backref" href="#id45" id="link-to-a-boost-library-on-windows" name="link-to-a-boost-library-on-windows">7.1&nbsp;&nbsp;&nbsp;Link to a Boost Library on Windows</a></h2>
<p id="auto-linking">Most Windows compilers and linkers have so called “auto-linking
support,” which is used by many Boost libraries to eliminate the
second challenge. Special code in Boost header files detects your
compiler options and uses that information to encode the name of
the correct library into your object files; the linker selects the
library with that name from the directories you've told it to
search.</p>
<p id="auto-linking">Most Windows compilers and linkers have so-called “auto-linking
support,” which eliminates the second challenge. Special code in
Boost header files detects your compiler options and uses that
information to encode the name of the correct library into your
object files; the linker selects the library with that name from
the directories you've told it to search.</p>
<div class="section">
<h3><a id="link-to-a-boost-library-from-the-visual-studio-command-prompt" name="link-to-a-boost-library-from-the-visual-studio-command-prompt">Link to a Boost Library from the Visual Studio Command Prompt</a></h3>
<p>For example, we can compile and link the above program from the
Visual C++ command-line by simply adding the <strong>bold</strong> text below to
the command line we used earlier, assuming your Boost binaries are
in <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">\lib</span></tt>:</p>
in <tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\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>
<pre class="literal-block">
cl /EHsc /I <em>path</em><tt class="docutils literal"><span class="pre">\</span></tt><em>to</em><tt class="docutils literal"><span class="pre">\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt> example.cpp <strong>\</strong>
<strong>/link /LIBPATH:</strong> <strong>C:\Program Files\boost\</strong><strong>boost_1_34_0</strong><strong>\lib</strong>
@ -646,7 +638,7 @@ earlier:</p>
select <em>Properties</em> from the resulting pop-up menu</li>
<li>In <em>Configuration Properties</em> &gt; <em>Linker</em> &gt; <em>Additional Library
Directories</em>, enter the path to the Boost binaries,
e.g. <tt class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt><tt class="docutils literal"><span class="pre">\lib\</span></tt>.</li>
e.g. <tt class="docutils literal"><span class="pre">C:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\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>
<li>From the <em>Build</em> menu, select <em>Build Solution</em>.</li>
</ol>
<p><a class="reference" href="#test-your-program"><em>next...</em></a></p>
@ -753,14 +745,15 @@ replaced by underscores. For example, version 1.31.1 would be
tagged as &quot;-1_31_1&quot;.</dd>
<dt><tt class="docutils literal"><span class="pre">.lib</span></tt></dt>
<dd><em>Extension</em>: determined according to the
operating system's usual convention. On Windows, <tt class="docutils literal"><span class="pre">.dll</span></tt>
indicates a shared library and <tt class="docutils literal"><span class="pre">.lib</span></tt> indicates a static or
import library. On most *nix platforms the extensions are
operating system's usual convention. On most *nix platforms the extensions are
<tt class="docutils literal"><span class="pre">.a</span></tt> and <tt class="docutils literal"><span class="pre">.so</span></tt> for static libraries (archives) and shared
libraries, respectively. Where supported by *nix toolsets, a
full version extension is added (e.g. &quot;.so.1.34&quot;); a symbolic
link to the library file, named without the trailing version
number, will also be created.</dd>
libraries, respectively. On Windows—except for libraries built
by <tt class="docutils literal"><span class="pre">gcc</span></tt> toolset, which always uses the *nix
convention—``.dll`` indicates a shared library and <tt class="docutils literal"><span class="pre">.lib</span></tt>
indicates a static or import library. Where supported by *nix
toolsets, a full version extension is added (e.g. &quot;.so.1.34&quot;); a
symbolic link to the library file, named without the trailing
version number, will also be created.</dd>
</dl>
</div>
<div class="section">
@ -813,25 +806,28 @@ Spoil Rock Hunter?”</p>
</div>
</div>
<div class="section">
<h1><a class="toc-backref" href="#id49" id="further-resources" name="further-resources">8&nbsp;&nbsp;&nbsp;Further Resources</a></h1>
<p>This concludes your introduction to Boost and using it with your
programs. Remember that this page is only supposed to get you
started and not describe every detail you might want to know about.
There are lots of resources you can pursue from this point onward.
<h1><a class="toc-backref" href="#id49" id="conclusion-and-further-resources" name="conclusion-and-further-resources">8&nbsp;&nbsp;&nbsp;Conclusion and Further Resources</a></h1>
<p>This concludes your introduction to Boost and to integrating it
with your programs. As you start using Boost in earnest, there are
surely a few additional points you'll wish we had covered. One day
we may have a “Book 2 in the Getting Started series” that addresses
them. Until then, we suggest you pursue the following resources.
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" href="http://boost.org/more/mailing_lists.htm#users">Boost Users'
make this document clearer, please post it to the <a class="reference" href="mailing_lists.htm#users">Boost Users'
mailing list</a>.</p>
<ul class="simple">
<li><a class="reference" href="http://boost.org/tools/build/v2">Boost.Build reference manual</a></li>
<li><a class="reference" href="http://boost.org/tools/jam">Boost.Jam reference manual</a></li>
<li><a class="reference" href="http://boost.org/more/mailing_lists.htm#users">Boost Users' mailing list</a></li>
<li><a class="reference" href="http://boost.org/more/mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
<li><a class="reference" href="../tools/build/v2">Boost.Build reference manual</a></li>
<li><a class="reference" href="../tools/jam/index.html">Boost.Jam reference manual</a></li>
<li><a class="reference" href="mailing_lists.htm#users">Boost Users' mailing list</a></li>
<li><a class="reference" href="mailing_lists.htm#jamboost">Boost.Build mailing list</a></li>
<li><a class="reference" href="http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2">Boost.Build Wiki</a></li>
</ul>
<div class="note">
<p class="first admonition-title">Note</p>
<p class="last">We're also very interested in what sort of material might
be appropriate for a “Book 2” in a Getting Started series.</p>
<div class="admonition-onward admonition">
<p class="first admonition-title">Onward</p>
<blockquote class="epigraph last">
<p>Good luck, and have fun!</p>
<p class="attribution">&mdash;the Boost Developers</p>
</blockquote>
</div>
</div>
<div class="section">
@ -849,7 +845,7 @@ cd <em>path</em>\<em>to</em>\<em>some</em>\<em>directory</em>
</pre>
<p>followed by Return. For example,</p>
<pre class="literal-block">
cd <tt class="docutils literal"><span class="pre">C:\Program</span> <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:</span></tt> <tt class="docutils literal"><span class="pre">\Program</span></tt>`` <tt class="docutils literal"><span class="pre">\</span> <span class="pre">``Files</span></tt><tt class="docutils literal"><span class="pre">\boost\</span></tt><tt class="docutils literal"><span class="pre">boost_1_34_0</span></tt>
</pre>
<p>One way to name a directory you know about is to write</p>
<pre class="literal-block">
@ -948,7 +944,7 @@ recommend it.</td></tr>
<div class="footer">
<hr class="footer" />
<a class="reference" href="./getting_started.rst">View document source</a>.
Generated on: 2006-12-11 20:27 UTC.
Generated on: 2006-12-12 00:28 UTC.
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
</div>

View File

@ -23,7 +23,7 @@ __ ../index.htm
.. |root| replace:: ``/``\ *path*\ ``/``\ *to*\ ``/``\ |boost_ver|
.. |winroot| replace:: *path*\ ``\``\ *to*\ ``\``\ |boost_ver|
.. |winroot-default| replace:: ``C:\Program Files\boost\``\ |boost_ver|
.. |winroot-default| replace:: ``C:\Program``\ `` ``\ ``Files\boost\``\ |boost_ver|
.. |bold-winroot-default| replace:: **C:\\Program Files\\boost\\**\ |boost_ver-bold|
Introduction
@ -663,13 +663,12 @@ Link to a Boost Library on Windows
.. _auto-linking:
Most Windows compilers and linkers have so called “auto-linking
support,” which is used by many Boost libraries to eliminate the
second challenge. Special code in Boost header files detects your
compiler options and uses that information to encode the name of
the correct library into your object files; the linker selects the
library with that name from the directories you've told it to
search.
Most Windows compilers and linkers have so-called “auto-linking
support,” which eliminates the second challenge. Special code in
Boost header files detects your compiler options and uses that
information to encode the name of the correct library into your
object files; the linker selects the library with that name from
the directories you've told it to search.
Link to a Boost Library from the Visual Studio Command Prompt
.............................................................
@ -806,15 +805,16 @@ following elements:
tagged as "-1_31_1".
``.lib``
*Extension*: determined according to the
operating system's usual convention. On Windows, ``.dll``
indicates a shared library and ``.lib`` indicates a static or
import library. On most \*nix platforms the extensions are
``.a`` and ``.so`` for static libraries (archives) and shared
libraries, respectively. Where supported by \*nix toolsets, a
full version extension is added (e.g. ".so.1.34"); a symbolic
link to the library file, named without the trailing version
number, will also be created.
*Extension*: determined according to the operating system's usual
convention. On most \*nix platforms the extensions are ``.a``
and ``.so`` for static libraries (archives) and shared libraries,
respectively. On Windows, ``.dll`` indicates a shared library
and—except for static libraries built by ``gcc`` toolset, whose
names always end in ``.a````.lib`` indicates a static or import
library. Where supported by \*nix toolsets, a full version
extension is added (e.g. ".so.1.34") and a symbolic link to the
library file, named without the trailing version number, will
also be created.
.. _Boost.Build toolset names: toolset-name_
@ -904,11 +904,11 @@ mailing list`_.
-- the Boost Developers
.. _Boost.Build reference manual: http://boost.org/tools/build/v2
.. _Boost.Jam reference manual: http://boost.org/tools/jam
.. _Boost Users' mailing list: http://boost.org/more/mailing_lists.htm#users
.. _Boost.Build reference manual: ../tools/build/v2
.. _Boost.Jam reference manual: `Boost.Jam`_
.. _Boost Users' mailing list: mailing_lists.htm#users
.. _Boost.Build Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2
.. _Boost.Build mailing list: http://boost.org/more/mailing_lists.htm#jamboost
.. _Boost.Build mailing list: mailing_lists.htm#jamboost
.. _`Using command-line tools in Windows`: