getting_started.html 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Getting Started</title>
  5. <meta content="HTML Tidy for Cygwin (vers 1st April 2002), see www.w3.org"
  6. name="generator">
  7. <meta content="Microsoft FrontPage 5.0" name="generator">
  8. <meta http-equiv="Content-Language" content="en-us">
  9. <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
  10. <link href="../boost.css" type="text/css" rel="stylesheet">
  11. </head>
  12. <body text="#000000" bgcolor="#FFFFFF">
  13. <table cellspacing="0" cellpadding="0" width="100%" summary="" border="0">
  14. <tr valign="top">
  15. <td valign="top" align="left"><img height="86" alt=
  16. "boost.png (6897 bytes)" src="../boost.png" width="277"></td>
  17. <td valign="top" align="right">
  18. <table cellspacing="0" cellpadding="2" summary="" border="1">
  19. <tr>
  20. <td>
  21. <table cellspacing="0" cellpadding="2" summary="" border="0">
  22. <tr>
  23. <td bgcolor="#DDDDDD">
  24. <p>.&nbsp;<a href="../index.htm">Home</a><br>
  25. .&nbsp;<a href="../libs/libraries.htm">Libraries</a><br>
  26. .&nbsp;<a href="../people/people.htm">People</a><br>
  27. .&nbsp;<a href="faq.htm">FAQ</a><br>
  28. .&nbsp;<a href="index.htm">More</a></p>
  29. </td>
  30. </tr>
  31. </table>
  32. </td>
  33. </tr>
  34. </table>
  35. </td>
  36. </tr>
  37. </table>
  38. <h1>Getting Started</h1>
  39. <ul>
  40. <li><a href="#Introduction">Introduction</a></li>
  41. <li>
  42. <a href="#Download">Download</a>
  43. <ul>
  44. <li><a href="#.zip">.zip file</a></li>
  45. <li><a href="#.tar.gz">.tar.gz and .tar.bz2 files</a></li>
  46. <li><a href="#CVS">Boost CVS Repository</a></li>
  47. </ul>
  48. </li>
  49. <li>
  50. <a href="#Preparation">Preparation</a>
  51. <ul>
  52. <li><a href="#Configuring">Configuring the tools</a></li>
  53. <li><a href="#Tools">Supported Toolsets</a></li>
  54. </ul>
  55. </li>
  56. <li><a href="#Build_Install">Build and Install</a></li>
  57. <li><a href="#Results">Results</a></li>
  58. <li><a href="#auto-link">Automatic Linking on Windows</a></li>
  59. <li><a href="#Additional_Steps">Additional Steps</a></li>
  60. </ul>
  61. <h2><a id="Introduction" name="Introduction">Introduction</a></h2>
  62. <p>These instructions are intended to help you get started using the Boost
  63. Libraries. This walks you through getting, building, and installing the
  64. libraries. To summarize these are the steps to get Boost built and
  65. installed:</p>
  66. <ol>
  67. <li><a href="#step1">Download Boost</a>.</li>
  68. <li><a href="#step2">Install Boost.Jam</a>.</li>
  69. <li><a href="#step3">Configure your compiler toolset</a>.</li>
  70. <li><a href="#step4">Go to Boost distribution directory</a>.</li>
  71. <li><a href="#step5">Build and install</a>.</li>
  72. </ol>
  73. <h2><a id="Download" name="Download"></a>Download</h2>
  74. <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
  75. <tr valign="top" align="left">
  76. <td valign="top" align="center" width="40" bgcolor="#FFFF66">
  77. <font size="6"><b><a id="step1" name="step1"></a>1</b></font></td>
  78. <td>The Boost Libraries are distributed through the SourceForge file
  79. distribution system. Click here to <b><a href=
  80. "http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041">
  81. <font size="4">download releases from SourceForge</font></a></b>. And
  82. unpack the release to a convenient location.</td>
  83. </tr>
  84. </table>
  85. <p>The Boost release includes all of the libraries and other material from
  86. the web site. It is available in <a href="#.zip">ZIP</a>, <a href=
  87. "#.tar.gz">TAR.GZ</a>, and <a href="#.tar.gz">TAR.BZ2</a> formats. Past
  88. releases are also available.</p>It is also possible to download current
  89. snapshots of work-in-progress from Boost's <a href="#CVS">CVS
  90. repository</a>.
  91. <h3><a id="zip" name=".zip">.zip</a> file</h3>The .zip format is widely
  92. supported by both free decoders and commercial compress/archive utilities.
  93. If you don't already have a .zip file decoder, download one from the
  94. <a href="http://www.info-zip.org/">Info-ZIP</a> web site, which supplies
  95. versions for many operating systems.
  96. <p>Text file line endings in the .zip file are as supplied by each library
  97. developer.&nbsp; This works fine for Windows, but not for Unix/Linux.&nbsp;
  98. The .tar.gz and .tar.bz2 files supply Unix/Linux friendly line endings.</p>
  99. <h3><a id="tar_gz" name=".tar.gz">.tar.gz</a> and .tar.bz2 files</h3>
  100. <p>The .tar.gz format is widely supported on Unix/Linux platforms. Some
  101. Windows compress/archive utilities can read the format as well.&nbsp;
  102. Because the gzip format compresses the archive as a single file rather than
  103. compressing each file individually, the .tar.gz file is smaller that the
  104. .zip file.</p>
  105. <p>The .tar.bz2 format is becoming widely available on Unix/Linux platforms
  106. and is built into many tar utilities. This format differs for the .tar.gz
  107. format in the compression used, which is considerably better and therefore
  108. creates smaller files.</p>
  109. <p>Text file line endings in the .tar.gz and .tar.bz2 files have been
  110. converted to newlines for ease of use on Unix/Linux platforms.</p>
  111. <h3>Boost <a id="CVS" name="CVS">CVS</a> Repository</h3>
  112. <p>All Boost files, including the entire distribution tree including web
  113. site HTML is maintained in a CVS repository. Command line, GUI, or browser
  114. access is available.</p>
  115. <h4>Boost CVS access via command line or graphical clients</h4>For those
  116. who have CVS clients installed, the libraries are also available from the
  117. public <a href="http://sourceforge.net/cvs/?group_id=7586">Boost CVS
  118. repository</a>. Free command line clients (often already installed on
  119. Linux/Unix systems) are available for many systems, and free GUI clients
  120. are available for Windows, Mac, and other systems.
  121. <p>See the much improved <a href=
  122. "http://sourceforge.net/docman/?group_id=1">CVS documentation</a> (Section
  123. F) from SourceForge, which includes links to the home pages for various GUI
  124. and command line clients.</p>
  125. <p>The general procedure for command-line clients is something like
  126. this:</p>
  127. <blockquote>
  128. <code>cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost
  129. login</code><br>
  130. [Hit &lt;return&gt; when it asks for a password]<br>
  131. <code>cvs -z3 -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost
  132. checkout boost</code><br>
  133. <code>cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost
  134. logout</code>
  135. </blockquote>Read the manual for your CVS client for further information.
  136. <p>This access is read-only; if you are a library author and wish to have
  137. CVS write access, please contact one of the <a href=
  138. "moderators.html">moderators</a>.</p>
  139. <h4>Boost CVS access via web <a id="Browser" name=
  140. "Browser">Browser</a></h4>For access to the CVS archive from any modern web
  141. browser, you can also use the <a href=
  142. "http://boost.cvs.sourceforge.net/boost/boost/">web
  143. browser&nbsp; interface</a>.&nbsp; Try one of the color diffs to see how a
  144. file has changed over time. <b>Note:</b> this interface is only suitable
  145. for viewing individual files and their revision histories.
  146. <h4><a id="generated" name="generated">Documentation</a> generated from
  147. BoostBook in CVS</h4>
  148. <p>Some of the Boost documentation is generated from <a href=
  149. "../doc/html/boostbook.html">BoostBook XML</a> source stored in the CVS
  150. repository, and will not appear directly in the CVS tree as readable HTML.
  151. View a nightly build of the generated HTML on the <a href=
  152. "http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/libraries.html">
  153. Nightly Generated Documentation</a> page. Where generated HTML is missing
  154. from the CVS tree, an attempt has been made to include redirection to this
  155. nightly build, but if you are away from an internet connection you may want
  156. to download the generated documentation archive from the aforementioned
  157. page so you can browse those documents offline.</p>
  158. <h2><a id="Preparation" name="Preparation"></a>Preparation</h2>
  159. <p>The recommended way to build and install the Boost Libraries is to use
  160. <a href="../tools/build/v1/build_system.htm">Boost.Build</a>, the Boost
  161. Build system. The rest of these instructions explain that use, but it is up
  162. to you to use this method, or not. Note that some of the libraries also
  163. include non Boost.Build makefiles and/or project files. But all include the
  164. needed files for building with Boost.Build.</p>
  165. <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
  166. <tr valign="top" align="left">
  167. <td valign="top" align="center" width="40" bgcolor="#FFFF66">
  168. <font size="6"><b><a id="step2" name="step2"></a>2</b></font></td>
  169. <td>The build system uses <a href=
  170. "../tools/jam/index.html">Boost.Jam</a>, an extension of the
  171. <a href="http://www.perforce.com/jam/jam.html">Perforce Jam</a>
  172. portable <i>make</i> replacement. The recommended way to get Boost.Jam
  173. if you are using a Boost distribution is to <strong><a href=
  174. "http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=72941">
  175. download a prebuilt executable</a></strong> from SourceForge. If a
  176. prebuilt executable is not provided for your platform or you are using
  177. Boost's sources in an unreleased state, it may be necessary to <a href=
  178. "../doc/html/jam/building.html">build <tt>bjam</tt>
  179. from sources</a> included in the Boost source tree. To install
  180. Boost.Jam, copy the <tt>bjam</tt> executable to a location accessible
  181. in your <tt>PATH</tt>.</td>
  182. </tr>
  183. </table>
  184. <h3><a id="Configuring" name="Configuring">Configuring the tools</a></h3>
  185. <p>Before using Boost.Build you will need to configure the compiler tools
  186. you are using. The build system's toolsets are designed to work in either
  187. of two ways:</p>
  188. <ol>
  189. <li>The user sets up all of the environment for each toolset he wants to
  190. use in the normal way. For example, for Microsoft VC++, ...VC98/Bin or
  191. .../VC7/Bin is in the PATH environment variable, VCVARS32.BAT or
  192. VSVARS32.BAT has been invoked, etc. For Metrowerks CodeWarrior, cwenv.bat
  193. or equivalent has been called and ...Other Metrowerks Tools/Command Line
  194. Tools is in the path. Many Unix operating systems come preconfigured this
  195. way and require no user intervention.<br>
  196. <br></li>
  197. <li>The user doesn't want his environment cluttered with settings or has
  198. nonstandard installations for some of his tools. Instead, he or she sets
  199. variables which point to the toolset installation directories, either in
  200. the command shell environment or on the <code>bjam</code> command-line.
  201. These variables are used by the build system to locate the tools and
  202. invoke the necessary setup. To set the variables on the <tt>bjam</tt>
  203. command-line you use the "<tt>-s</tt>" option. For example:<br>
  204. <br>
  205. <tt>bjam "-sGCC_ROOT_DIRECTORY=/usr/local/gcc-3.3.2"</tt><br>
  206. <br>
  207. Some variables, like the toolset <tt>TOOLS</tt> variable, can accept
  208. multiple values separated by spaces. Others, like the path above, can
  209. contain spaces. For such circumstances you should use quotes appropriate
  210. for your command interpreter.<br></li>
  211. </ol>
  212. <h3><a id="Tools" name="Tools">Supported Toolsets</a></h3>
  213. <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
  214. <tr valign="top" align="left">
  215. <td valign="top" align="center" width="40" bgcolor="#FFFF66">
  216. <font size="6"><b><a id="step3" name="step3"></a>3</b></font></td>
  217. <td>The following toolsets are supported by Boost.Build. For
  218. information about <a href="#Configuring">configuring</a> each toolset,
  219. click its name in the leftmost column.</td>
  220. </tr>
  221. </table><br>
  222. <table cellpadding="5" summary="" border="1">
  223. <tr>
  224. <td><b>TOOLS Name</b></td>
  225. <td><b>Description</b></td>
  226. </tr>
  227. <tr>
  228. <td><a href=
  229. "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
  230. <td><a href=
  231. "http://www.borland.com/bcppbuilder/freecompiler">Borland</a> C++</td>
  232. </tr>
  233. <tr>
  234. <td><a href=
  235. "../tools/build/v1/como-tools.html"><code>como</code></a></td>
  236. <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
  237. front-end for non-Windows platforms</td>
  238. </tr>
  239. <tr>
  240. <td><code><a href=
  241. "../tools/build/v1/como-tools.html">como-win32</a></code></td>
  242. <td><a href="http://www.comeaucomputing.com">Comeau C++</a> compiler
  243. front-end for Windows, using Microsoft <a href=
  244. "http://msdn.microsoft.com/visualc/">Visual C++</a>as a back-end.</td>
  245. </tr>
  246. <tr>
  247. <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
  248. <td><a href="http://www.metrowerks.com">Metrowerks CodeWarrior</a> Pro
  249. 6.x, 7.x, 8.x, and 9.x command-line tools</td>
  250. </tr>
  251. <tr>
  252. <td><a href=
  253. "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
  254. <td>Apple Darwin OS hosted GNU <a href=
  255. "http://developer.apple.com/tools/compilers.html">GCC</a></td>
  256. </tr>
  257. <tr>
  258. <td><a href=
  259. "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
  260. <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>.</td>
  261. </tr>
  262. <tr>
  263. <td><a href=
  264. "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
  265. <td><a href="http://www.digitalmars.com/">Digital Mars C++</a>, using
  266. the <a href="http://www.stlport.org">STLport</a> standard library
  267. implementation</td>
  268. </tr>
  269. <tr>
  270. <td><a href=
  271. "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
  272. <td><a href="http://www.edg.com/">Edison Design Group</a> compiler
  273. front-end (evaluation version)</td>
  274. </tr>
  275. <tr>
  276. <td><a href=
  277. "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
  278. <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
  279. "http://www.cygwin.com">Cygwin</a>.</td>
  280. </tr>
  281. <tr>
  282. <td><a href=
  283. "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
  284. <td><a href="http://gcc.gnu.org">GNU GCC</a> on Unix and <a href=
  285. "http://www.cygwin.com">Cygwin</a>, using the <a href=
  286. "http://www.stlport.org">STLport</a> standard library
  287. implementation</td>
  288. </tr>
  289. <tr>
  290. <td><a href=
  291. "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
  292. <td>GNU GCC Cygwin command line compiler tools running in "no-cygwin"
  293. mode (produces commercially redistributable objects)</td>
  294. </tr>
  295. <tr>
  296. <td><a href=
  297. "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
  298. <td><a href=
  299. "http://www.intel.com/software/products/compilers/c60l/">Intel C++ for
  300. Linux</a></td>
  301. </tr>
  302. <tr>
  303. <td><a href=
  304. "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
  305. <td><a href=
  306. "http://www.intel.com/software/products/compilers/c60/">Intel C++ for
  307. Windows</a> using the Dinkumware standard library in the Intel-required
  308. Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual C++</a> 6
  309. or 7 installation</td>
  310. </tr>
  311. <tr>
  312. <td><a href=
  313. "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
  314. <td>KAI C++</td>
  315. </tr>
  316. <tr>
  317. <td><a href=
  318. "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
  319. <td><a href="http://www.borland.com/kylix">Borland C++ for Linux
  320. (Kylix).</a></td>
  321. </tr>
  322. <tr>
  323. <td><a href=
  324. "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
  325. <td>GNU GCC and associated tools in <a href=
  326. "http://www.mingw.org">MinGW</a> configuration (produces commercially
  327. redistributable objects)</td>
  328. </tr>
  329. <tr>
  330. <td><a href=
  331. "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
  332. <td>GNU GCC and associated tools in <a href=
  333. "http://www.mingw.org">MinGW</a> configuration (produces commercially
  334. redistributable objects), using the <a href=
  335. "http://www.stlport.org">STLport</a> standard library
  336. implementation</td>
  337. </tr>
  338. <tr>
  339. <td><a href=
  340. "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
  341. <td>SGI <a href=
  342. "http://www.sgi.com/developers/devtools/languages/mipspro.html">MIPSpro
  343. C and C++</a></td>
  344. </tr>
  345. <tr>
  346. <td><a href=
  347. "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
  348. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  349. C++</a> version 6 command-line tools. NOTE; For version 7.x (the .NET
  350. series) use the vc7, vc-7_1, or vc-8_0 toolsets below.</td>
  351. </tr>
  352. <tr>
  353. <td><a href=
  354. "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
  355. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  356. C++</a> version 6 command-line tools, using the <a href=
  357. "http://www.stlport.org">STLport</a> standard library implementation.
  358. NOTE; For version 7.x (the .NET series) use the vc7-stlport or
  359. vc-7_1-stlport toolsets below.</td>
  360. </tr>
  361. <tr>
  362. <td><a href=
  363. "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
  364. <td><a href=
  365. "http://wwws.sun.com/software/sundev/suncc/index.html">SunPRO C++</a>
  366. compiler</td>
  367. </tr>
  368. <tr>
  369. <td><a href=
  370. "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
  371. <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a> for
  372. Tru64 UNIX (versions prior to 6.5)</td>
  373. </tr>
  374. <tr>
  375. <td><a href=
  376. "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
  377. <td><a href="http://www.tru64unix.compaq.com/cplus/">Compaq C++</a>
  378. Version 6.5 for Tru64 UNIX</td>
  379. </tr>
  380. <tr>
  381. <td><a href=
  382. "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
  383. <td><a href="http://www-3.ibm.com/software/ad/vacpp/">IBM Visual Age
  384. C++</a> command-line tools</td>
  385. </tr>
  386. <tr>
  387. <td><a href=
  388. "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
  389. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  390. C++</a> command-line tools from Visual Studio .NET.</td>
  391. </tr>
  392. <tr>
  393. <td><a href=
  394. "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
  395. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  396. C++</a> command-line tools from Visual Studio .NET + STLPort.</td>
  397. </tr>
  398. <tr>
  399. <td><a href=
  400. "../tools/build/v1/vc-7_1-tools.html"><code>vc-7_1</code></a></td>
  401. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  402. C++</a> command-line tools from Visual Studio .NET 2003.</td>
  403. </tr>
  404. <tr>
  405. <td><a href=
  406. "../tools/build/v1/vc-7_1-stlport-tools.html"><code>vc-7_1-stlport</code></a></td>
  407. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  408. C++</a> command-line tools from Visual Studio .NET 2003 + STLPort.</td>
  409. </tr>
  410. <tr>
  411. <td><a href=
  412. "../tools/build/v1/vc-8_0-tools.html"><code>vc-8_0</code></a></td>
  413. <td>Microsoft <a href="http://msdn.microsoft.com/visualc/">Visual
  414. C++</a> command-line tools from Visual Studio .NET 2005.</td>
  415. </tr>
  416. </table>
  417. <h2><a id="Build_Install" name="Build_Install"></a>Build and Install</h2>
  418. <p>The common build and install process is driven by the top-level build
  419. file (<a href="../Jamfile">Jamfile</a>).</p>
  420. <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
  421. <tr valign="top" align="left">
  422. <td valign="top" align="center" width="40" bgcolor="#FFFF66">
  423. <font size="6"><b><a id="step4" name="step4"></a>4</b></font></td>
  424. <td>
  425. <p>First you need to change to the directory where you have the Boost
  426. distribution you downloaded. For example:</p>
  427. <blockquote>
  428. <p><code>chdir&nbsp;boost-1.31.0</code></p>
  429. </blockquote>
  430. </td>
  431. </tr>
  432. </table>
  433. <p>The default build and install attempts to build all available libraries
  434. and install to default locations the libraries and Boost header files. On
  435. Unix systems the default install location is "<tt>/usr/local</tt>", and on
  436. Windows systems the default is "<tt>C:\Boost</tt>". Within those
  437. directories libraries are installed to the "<tt>lib</tt>" subdirectory, and
  438. headers to an "<tt>include/boost-1_31</tt>" subdirectory, the version will
  439. reflect the distribution you are installing.</p>
  440. <table cellspacing="2" cellpadding="2" width="100%" summary="" border="0">
  441. <tr valign="top" align="left">
  442. <td valign="top" align="center" width="40" bgcolor="#FFFF66">
  443. <font size="6"><b><a id="step5" name="step5"></a>5</b></font></td>
  444. <td>
  445. Invoke the build system, specifying the <a href=
  446. "#Tools">toolset</a>(s) you wish to use, to build and install. For
  447. example for GNU/GCC.
  448. <blockquote>
  449. <p><code>bjam&nbsp;"-sTOOLS=gcc" install</code></p>
  450. </blockquote>
  451. <p>Or if you are interested only in the built libraries you can have
  452. them built and collected to a common directory without
  453. installation.</p>
  454. <blockquote>
  455. <p><code>bjam&nbsp;"-sTOOLS=gcc" stage</code></p>
  456. </blockquote>
  457. </td>
  458. </tr>
  459. </table>
  460. <p>The build and install system can be controlled through a set of options
  461. similar in style to GNU configure options. The options allow you to, among
  462. other things, change the install location, disable building of libraries,
  463. etc. You can see a summary of the available options by invoking "<tt>bjam
  464. --help</tt>". The full invocation takes the form:</p>
  465. <blockquote>
  466. <p><code>bjam&nbsp;[<i>options</i>...] [install|stage]</code></p>
  467. </blockquote>
  468. <table cellspacing="0" cellpadding="2" summary="" border="1">
  469. <tr>
  470. <th>Action</th>
  471. <td>&nbsp;</td>
  472. </tr>
  473. <tr>
  474. <td valign="top" nowrap align="left"><i>none</i></td>
  475. <td valign="top" align="left">Only builds the Boost libraries. This
  476. lets you do the first part of what the <tt>install</tt> action normally
  477. does without copying the built libraries to the install location.</td>
  478. </tr>
  479. <tr>
  480. <td valign="top" nowrap align="left"><tt>install</tt></td>
  481. <td valign="top" align="left">Builds and installs Boost libraries and
  482. headers.</td>
  483. </tr>
  484. <tr>
  485. <td valign="top" nowrap align="left"><tt>stage</tt></td>
  486. <td valign="top" align="left">Builds the Boost libraries and copies
  487. them into a common directory.</td>
  488. </tr>
  489. <tr>
  490. <th nowrap>Option</th>
  491. <td valign="top" align="left">&nbsp;</td>
  492. </tr>
  493. <tr>
  494. <td valign="top" nowrap align="left"><tt>--help</tt></td>
  495. <td valign="top" align="left">Shows a short summary of the options and
  496. syntax of the command.</td>
  497. </tr>
  498. <tr>
  499. <td valign="top" nowrap align="left">
  500. <tt>-sTOOLS=&lt;<i>toolsets</i>&gt;</tt></td>
  501. <td valign="top" align="left">The list of tools to compile with.
  502. Usually only one is needed.</td>
  503. </tr>
  504. <tr>
  505. <td valign="top" nowrap align="left"><tt>--prefix=PREFIX</tt></td>
  506. <td valign="top" align="left">Install architecture independent files
  507. here.<br>
  508. Default; <tt>C:\Boost</tt> on Win32.<br>
  509. Default; <tt>/usr/local</tt> on Unix. Linux, etc.</td>
  510. </tr>
  511. <tr>
  512. <td valign="top" nowrap align="left">
  513. <tt>--exec-prefix=EPREFIX</tt></td>
  514. <td valign="top" align="left">Install architecture dependent files
  515. here.<br>
  516. Default; <tt>PREFIX</tt></td>
  517. </tr>
  518. <tr>
  519. <td valign="top" nowrap align="left"><tt>--libdir=DIR</tt></td>
  520. <td valign="top" align="left">Install libraries here.<br>
  521. Default; <tt>EPREFIX/lib</tt></td>
  522. </tr>
  523. <tr>
  524. <td valign="top" nowrap align="left"><tt>--includedir=DIR</tt></td>
  525. <td valign="top" align="left">Install source headers here. The Boost
  526. headers are installed in a version specific
  527. "<tt>boost-&lt;version&gt;</tt>" subdirectory in this directory.<br>
  528. Default; <tt>PREFIX/include</tt></td>
  529. </tr>
  530. <tr>
  531. <td valign="top" nowrap align="left"><tt>--builddir=DIR</tt></td>
  532. <td valign="top" align="left">Build in this location instead of
  533. building within the distribution tree. This moves where the sources for
  534. the libraries are compiled to before they are installed.
  535. Recommended!</td>
  536. </tr>
  537. <tr>
  538. <td valign="top" nowrap align="left"><tt>--stagedir=DIR</tt></td>
  539. <td valign="top" align="left">When staging only, with the
  540. "<tt>stage</tt>" action, copy to the given location.<br>
  541. Default; <tt>./stage</tt></td>
  542. </tr>
  543. <tr>
  544. <td valign="top" nowrap align="left">
  545. <tt>--without-&lt;<i>library</i>&gt;</tt></td>
  546. <td valign="top" align="left">Do not build, stage, or install the
  547. specified library.</td>
  548. </tr>
  549. <tr>
  550. <td valign="top" nowrap align="left">
  551. <tt>--with-&lt;<i>library</i>&gt;</tt></td>
  552. <td valign="top" align="left">Build, stage, or install the specified
  553. library. This changes the default from trying to build all possible
  554. libraries, to only building the specified libraries.</td>
  555. </tr>
  556. <tr>
  557. <td valign="top" nowrap align="left">
  558. <tt>--with-python-root[=PYTHON_ROOT]</tt></td>
  559. <td valign="top" align="left">Build Boost.Python libraries with the
  560. Python devel packages located at <tt>PYTHON_ROOT</tt>. The Boost.Python
  561. libraries are built only if the build can find the Python development
  562. package at this location.<br>
  563. Default; <tt>C:\Python24</tt> on Win32.<br>
  564. Default; <tt>/usr</tt> on Unix, Linux, Cygwin, etc.</td>
  565. </tr>
  566. <tr>
  567. <td valign="top" nowrap align="left">
  568. <tt>--with-python-version[=2.4]</tt></td>
  569. <td valign="top" align="left">Build Boost.Python libraries with the
  570. Python version indicated.<br>
  571. Default; 2.4.</td>
  572. </tr>
  573. <tr>
  574. <td valign="top" nowrap align="left"><tt>--with-pydebug</tt></td>
  575. <td valign="top" align="left">Build Boost.Python libraries using the
  576. Python debug runtime. This builds an additional set of libraries for
  577. use with the debug version of Python. The regular versions of the
  578. Boost.Python libraries are also built.</td>
  579. </tr>
  580. <tr>
  581. <td valign="top" nowrap align="left"><tt>-sHAVE_ICU=1</tt></td>
  582. <td valign="top" align="left">Build Boost.Regex libraries with Unicode
  583. support provided by the <a href=
  584. "http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU
  585. libraries</a>. ICU must have been built with the same compiler that you
  586. are using to build Boost, and must be installed into your compiler's
  587. include and library search paths. See <a href=
  588. "../libs/regex/doc/install.html#unicode">the Boost.Regex installation
  589. documentation for more information</a>.</td>
  590. </tr>
  591. <tr>
  592. <td valign="top" nowrap align="left">
  593. <tt>-sICU_PATH=<i>path</i></tt></td>
  594. <td valign="top" align="left">Build Boost.Regex libraries with Unicode
  595. support provided by the <a href=
  596. "http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU
  597. libraries</a>. ICU must have been built with the same compiler that you
  598. are using to build Boost, and must have been built (or installed to)
  599. directory <i>path</i>. For example if you configured ICU with
  600. <tt>--prefix=/usr/local/icu/3.3</tt>, then use
  601. <tt>-sICU_PATH=/usr/local/icu/3.3</tt>. See <a href=
  602. "../libs/regex/doc/install.html#unicode">the Boost.Regex installation
  603. documentation for more information</a>.</td>
  604. </tr>
  605. <tr>
  606. <td valign="top" nowrap align="left"><tt>-sNO_COMPRESSION=1</tt></td>
  607. <td valign="top" align="left">Build Boost.Iostreams without support for
  608. the compression filters which rely on the non-Boost libraries zlib and
  609. libbz2. If you use Windows, this option is enabled by default. If you
  610. use UNIX, the compression filters will likely work with no
  611. configuration, so this option should not be necessary. For full details
  612. see <a href=
  613. "http://www.boost.org/libs/iostreams/doc/index.html?path=7">Boost.Iostreams
  614. Installation</a>.</td>
  615. </tr>
  616. </table>
  617. <p>There are additional options as supported by <a href=
  618. "../tools/build/v1/build_system.htm">Boost.Build</a> and <a href=
  619. "../tools/jam/index.html">Boost.Jam</a>. Of the additional
  620. options perhaps the most imporant is "<tt>-s<a href=
  621. "../tools/build/v1/build_system.htm#build">BUILD</a>=&lt;features/variants&gt;</tt>"
  622. which lets you override what is built by default. The
  623. "<tt>&lt;features/variants&gt;</tt>" value is a list, separated by spaces,
  624. of build requests. Features take the form of a tag and a value or values.
  625. And variants are single symbolic names for a collection of features. For
  626. example the default is to request "<tt>debug release
  627. &lt;runtime-link&gt;static/dynamic &lt;threading&gt;single/multi</tt>", in
  628. which "<tt>debug</tt>" and "<tt>release</tt>" are variants, and the rest
  629. features with two values each.</p>
  630. <p>If you have some feedback about the build and install process please
  631. drop us a line at the <a href="mailing_lists.htm#jamboost">Boost.Build
  632. mailing list</a>. We are particularly interested if it works for your
  633. platform and if it there is anything that you feel could be done
  634. better.</p>
  635. <h2><a id="Results" name="Results"></a>Results</h2>
  636. <p>The results of building come in to forms: static libraries, and dynamic
  637. libraries. Depending on the platform the libraries produced have different
  638. names to accommodate the platform requirements. For a single Boost library
  639. the build with the default will produce eight different libraries. For
  640. example building the Boost.Datetime library on Unix type system it would
  641. produce:</p>
  642. <ol>
  643. <li><tt>libboost_date_time-gcc-d-1_31.so</tt></li>
  644. <li><tt>libboost_date_time-gcc-mt-d-1_31.so</tt></li>
  645. <li><tt>libboost_date_time-gcc-1_31.so</tt></li>
  646. <li><tt>libboost_date_time-gcc-mt-1_31.so</tt></li>
  647. <li><tt>libboost_date_time-gcc-d-1_31.a</tt></li>
  648. <li><tt>libboost_date_time-gcc-mt-d-1_31.a</tt></li>
  649. <li><tt>libboost_date_time-gcc-1_31.a</tt></li>
  650. <li><tt>libboost_date_time-gcc-mt-1_31.a</tt><br></li>
  651. </ol>
  652. <table cellspacing="0" cellpadding="0" width="100%" summary="" border="0">
  653. <tr>
  654. <td colspan="11">
  655. <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
  656. border="0">
  657. <tr>
  658. <th>&middot; Library Prefix</th>
  659. </tr>
  660. </table>
  661. </td>
  662. <td width="80%">&nbsp;</td>
  663. </tr>
  664. <tr>
  665. <td valign="bottom" bgcolor="#CCCCCC" rowspan="7"><tt><font size=
  666. "+1">lib</font></tt></td>
  667. <td colspan="11">
  668. <table cellspacing="2" cellpadding="2" summary="" border="0">
  669. <tr>
  670. <th>&middot; Library Name</th>
  671. </tr>
  672. </table>
  673. </td>
  674. </tr>
  675. <tr>
  676. <td valign="bottom" rowspan="6"><tt><font size=
  677. "+1">boost_date_time</font></tt></td>
  678. <td colspan="10">
  679. <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
  680. border="0">
  681. <tr>
  682. <th>&middot; Toolset</th>
  683. </tr>
  684. </table>
  685. </td>
  686. </tr>
  687. <tr>
  688. <td valign="bottom" bgcolor="#CCCCCC" rowspan="5"><tt><font size=
  689. "+1">-</font></tt></td>
  690. <td valign="bottom" bgcolor="#CCCCCC" rowspan="5"><tt><font size=
  691. "+1">gcc</font></tt></td>
  692. <td colspan="8">
  693. <table cellspacing="2" cellpadding="2" summary="" border="0">
  694. <tr>
  695. <th>&middot; Threading</th>
  696. </tr>
  697. </table>
  698. </td>
  699. </tr>
  700. <tr>
  701. <td valign="bottom" rowspan="4"><tt><font size="+1">-</font></tt></td>
  702. <td valign="bottom" rowspan="4"><tt><font size="+1">mt</font></tt></td>
  703. <td colspan="6">
  704. <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
  705. border="0">
  706. <tr>
  707. <th>&middot; Runtime</th>
  708. </tr>
  709. </table>
  710. </td>
  711. </tr>
  712. <tr>
  713. <td valign="bottom" bgcolor="#CCCCCC" rowspan="3"><tt><font size=
  714. "+1">-</font></tt></td>
  715. <td valign="bottom" bgcolor="#CCCCCC" rowspan="3"><tt><font size=
  716. "+1">d</font></tt></td>
  717. <td colspan="4">
  718. <table cellspacing="2" cellpadding="2" summary="" border="0">
  719. <tr>
  720. <th>&middot; Boost Version</th>
  721. </tr>
  722. </table>
  723. </td>
  724. </tr>
  725. <tr>
  726. <td valign="bottom" rowspan="2"><tt><font size="+1">-</font></tt></td>
  727. <td valign="bottom" rowspan="2"><tt><font size=
  728. "+1">1_31</font></tt></td>
  729. <td colspan="2">
  730. <table cellspacing="2" cellpadding="2" bgcolor="#CCCCCC" summary=""
  731. border="0">
  732. <tr>
  733. <th>&middot; Library Type</th>
  734. </tr>
  735. </table>
  736. </td>
  737. </tr>
  738. <tr>
  739. <td valign="bottom" bgcolor="#CCCCCC"><tt><font size=
  740. "+1">.a</font></tt></td>
  741. <td>&nbsp;</td>
  742. </tr>
  743. </table>
  744. <h3>Library Prefix</h3>
  745. <p>The "lib" prefix on the libraries is a requirement on many platforms,
  746. like Unix, and on others like GCC running on Windows. The prefix is
  747. therefore added to all libraries on Unix type systems, and to static
  748. libraries on Windows. That is on Unix shared libraries and static libraries
  749. (object archives) are named respectively:</p>
  750. <ul>
  751. <li><tt>lib*.so</tt></li>
  752. <li><tt>lib*.a</tt></li>
  753. </ul>
  754. <p>On Windows shared libraries do not have the prefix to differentiate the
  755. import libraries from static libraries. Consequently on Windows the
  756. libraries are named:</p>
  757. <table id="Table1" cellspacing="1" cellpadding="1" width="300" border="0">
  758. <tr>
  759. <td><font face="Courier New">*.dll</font></td>
  760. <td>Dynamic library version.</td>
  761. </tr>
  762. <tr>
  763. <td><font face="Courier New">*.lib</font></td>
  764. <td>Import library for the dll.</td>
  765. </tr>
  766. <tr>
  767. <td><font face="Courier New">lib*.lib</font></td>
  768. <td>Static library version.</td>
  769. </tr>
  770. </table><br>
  771. <br>
  772. <h3>Library Name</h3>
  773. <p>For Boost libraries the name has the "<tt>boost_</tt>" prefix to
  774. separate them from other libraries in your system.</p>
  775. <h3>Toolset</h3>
  776. <p>The toolset name is an abbreviation based on the compiler you are
  777. building with. The abbreviation is composed of a short, 2 to 4 characters,
  778. tag for the compiler and a version number of the compiler's major and minor
  779. revision (if available). For example if your toolset is
  780. "<tt>gcc-3_2_3</tt>" the toolset tag would be "<tt>gcc32</tt>". The toolset
  781. abbreviations used are as follows:</p>
  782. <table cellpadding="5" summary="" border="1">
  783. <tr>
  784. <td><b>TOOLS Name</b></td>
  785. <td><b>Abbreviation</b></td>
  786. </tr>
  787. <tr>
  788. <td><a href=
  789. "../tools/build/v1/borland-tools.html"><code>borland</code></a></td>
  790. <td><tt>bcb</tt></td>
  791. </tr>
  792. <tr>
  793. <td><a href=
  794. "../tools/build/v1/como-tools.html"><code>como</code></a></td>
  795. <td><tt>como</tt></td>
  796. </tr>
  797. <tr>
  798. <td><code><a href=
  799. "../tools/build/v1/como-tools.html">como-win32</a></code></td>
  800. <td><tt>como</tt></td>
  801. </tr>
  802. <tr>
  803. <td><a href="../tools/build/v1/cw-tools.html"><code>cw</code></a></td>
  804. <td><tt>cw</tt></td>
  805. </tr>
  806. <tr>
  807. <td><a href=
  808. "../tools/build/v1/darwin-tools.html"><code>darwin</code></a></td>
  809. <td><tt>osx</tt></td>
  810. </tr>
  811. <tr>
  812. <td><a href=
  813. "../tools/build/v1/dmc-tools.html"><code>dmc</code></a></td>
  814. <td><tt>dmc</tt></td>
  815. </tr>
  816. <tr>
  817. <td><a href=
  818. "../tools/build/v1/dmc-stlport-tools.html"><code>dmc-stlport</code></a></td>
  819. <td><tt>dmc</tt></td>
  820. </tr>
  821. <tr>
  822. <td><a href=
  823. "../tools/build/v1/edg-tools.html"><code>edg</code></a></td>
  824. <td><tt>edg</tt></td>
  825. </tr>
  826. <tr>
  827. <td><a href=
  828. "../tools/build/v1/gcc-tools.html"><code>gcc</code></a></td>
  829. <td><tt>gcc</tt></td>
  830. </tr>
  831. <tr>
  832. <td><a href=
  833. "../tools/build/v1/gcc-stlport-tools.html"><code>gcc-stlport</code></a></td>
  834. <td><tt>gcc</tt></td>
  835. </tr>
  836. <tr>
  837. <td><a href=
  838. "../tools/build/v1/gcc-nocygwin-tools.html"><code>gcc-nocygwin</code></a></td>
  839. <td><tt>gcc</tt></td>
  840. </tr>
  841. <tr>
  842. <td><a href=
  843. "../tools/build/v1/intel-linux-tools.html"><code>intel-linux</code></a></td>
  844. <td><tt>il</tt></td>
  845. </tr>
  846. <tr>
  847. <td><a href=
  848. "../tools/build/v1/intel-win32-tools.html"><code>intel-win32</code></a></td>
  849. <td><tt>iw</tt></td>
  850. </tr>
  851. <tr>
  852. <td><a href=
  853. "../tools/build/v1/kcc-tools.html"><code>kcc</code></a></td>
  854. <td><tt>kcc</tt></td>
  855. </tr>
  856. <tr>
  857. <td><a href=
  858. "../tools/build/v1/kylix-tools.html"><code>kylix</code></a></td>
  859. <td><tt>bck</tt></td>
  860. </tr>
  861. <tr>
  862. <td><a href=
  863. "../tools/build/v1/mingw-tools.html"><code>mingw</code></a></td>
  864. <td><tt>mgw</tt></td>
  865. </tr>
  866. <tr>
  867. <td><a href=
  868. "../tools/build/v1/mingw-stlport-tools.html"><code>mingw-stlport</code></a></td>
  869. <td><tt>mgw</tt></td>
  870. </tr>
  871. <tr>
  872. <td><a href=
  873. "../tools/build/v1/mipspro-tools.html"><code>mipspro</code></a></td>
  874. <td><tt>mp</tt></td>
  875. </tr>
  876. <tr>
  877. <td><a href=
  878. "../tools/build/v1/msvc-tools.html"><code>msvc</code></a></td>
  879. <td><tt>vc</tt></td>
  880. </tr>
  881. <tr>
  882. <td><a href=
  883. "../tools/build/v1/msvc-stlport-tools.html"><code>msvc-stlport</code></a></td>
  884. <td><tt>vc</tt></td>
  885. </tr>
  886. <tr>
  887. <td><a href=
  888. "../tools/build/v1/sunpro-tools.html"><code>sunpro</code></a></td>
  889. <td><tt>sw</tt></td>
  890. </tr>
  891. <tr>
  892. <td><a href=
  893. "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx</code></a></td>
  894. <td><tt>tru</tt></td>
  895. </tr>
  896. <tr>
  897. <td><a href=
  898. "../tools/build/v1/tru64cxx-tools.html"><code>tru64cxx65</code></a></td>
  899. <td><tt>tru</tt></td>
  900. </tr>
  901. <tr>
  902. <td><a href=
  903. "../tools/build/v1/vacpp-tools.html"><code>vacpp</code></a></td>
  904. <td><tt>xlc</tt></td>
  905. </tr>
  906. <tr>
  907. <td><a href=
  908. "../tools/build/v1/vc7-tools.html"><code>vc7</code></a></td>
  909. <td><tt>vc</tt></td>
  910. </tr>
  911. <tr>
  912. <td><a href=
  913. "../tools/build/v1/vc7-stlport-tools.html"><code>vc7-stlport</code></a></td>
  914. <td><tt>vc</tt></td>
  915. </tr>
  916. <tr>
  917. <td><a href=
  918. "../tools/build/v1/vc-7_1-tools.html"><code>vc-7_1</code></a></td>
  919. <td><tt>vc</tt></td>
  920. </tr>
  921. <tr>
  922. <td><a href=
  923. "../tools/build/v1/vc-7_1-stlport-tools.html"><code>vc-7_1-stlport</code></a></td>
  924. <td><tt>vc</tt></td>
  925. </tr>
  926. <tr>
  927. <td><a href=
  928. "../tools/build/v1/vc-8_0-tools.html"><code>vc-8_0</code></a></td>
  929. <td><tt>vc</tt></td>
  930. </tr>
  931. <tr>
  932. <td>Others</td>
  933. <td>The first part of the toolset name.</td>
  934. </tr>
  935. </table>
  936. <h3>Threading</h3>
  937. <p>This tag indicates if the library is compiled with threading support. If
  938. threading is enabled "<tt>-mt</tt>" is added, otherwise nothing is
  939. added.</p>
  940. <h3>Runtime</h3>
  941. <p>This specifies the type of runtime the library was compiled against, and
  942. the type of code that is compiled. More commonly this encodes the ABI
  943. variation used in the code. For each feature of the runtime system and code
  944. compilation option a single letter is added to this tag.</p>
  945. <table cellpadding="5" summary="" border="1">
  946. <tr>
  947. <td><b>Key</b></td>
  948. <td><b>Feature</b></td>
  949. </tr>
  950. <tr>
  951. <td><tt>s</tt></td>
  952. <td>Static link to runtime.</td>
  953. </tr>
  954. <tr>
  955. <td><tt>g</tt></td>
  956. <td>Debug runtime.</td>
  957. </tr>
  958. <tr>
  959. <td><tt>y</tt></td>
  960. <td>Debug Python system.</td>
  961. </tr>
  962. <tr>
  963. <td><tt>d</tt></td>
  964. <td>Debug enabled code.</td>
  965. </tr>
  966. <tr>
  967. <td><tt>p</tt></td>
  968. <td>STLport runtime, instead of the vendor toolset runtime.</td>
  969. </tr>
  970. <tr>
  971. <td><tt>n</tt></td>
  972. <td>STLport runtime using the "native" IO streams instead of the
  973. STLport IO streams.</td>
  974. </tr>
  975. </table>
  976. <p>For example if you compile debug code for STLport using native IO
  977. streams, and statically link to the debug runtime the tag would be:
  978. "<tt>-sgdpn</tt>".</p>
  979. <h3>Boost Version</h3>
  980. <p>This is the short label for the version of the Boost Libraries. The
  981. major and minor version numbers are taken together separated by an
  982. underscore. For example version 1.31.0 would be tagged as "<tt>-1_31</tt>".
  983. For patch versions the patch number is also included, for example a version
  984. of 1.31.1 would be tagged as "<tt>-1_31_1</tt>".</p>
  985. <h3>Library Type</h3>
  986. <p>The extension holds the type of library. This follows the platform
  987. requirements. On Windows this is "<tt>.dll</tt>" for shared libraries, and
  988. "<tt>.lib</tt>" for static libraries including import libraries. On Unix
  989. this is ".a" for static libraries (archives), and ".so" for shared
  990. libraries. For toolsets that support it in Unix they will also have a full
  991. version extension (for example "<tt>.so.1.31.0</tt>") with a symbolic link
  992. for the un-versioned library.</p>
  993. <h2><a name="auto-link"></a>Automatic Linking on Windows</h2>
  994. <p>For most Boost libraries that have separate source, the correct build
  995. variant is linked against automatically when you include one of that
  996. library's header files.&nbsp; For this feature to work, your compiler must
  997. support the <code>#pragma comment(lib, name)</code> feature (Microsoft
  998. Visual C++, Intel C++, Metrowerks C++ , and Borland C++ all support
  999. this).</p>
  1000. <p>If you are linking to a dynamic runtime, then you can choose to link to
  1001. either a static or a dynamic Boost library, the default is to do a static
  1002. link.&nbsp; You can alter this for a specific library <em>whatever</em> by
  1003. defining BOOST_WHATEVER_DYN_LINK to force Boost library <em>whatever</em>
  1004. to be linked dynamically.&nbsp; Alternatively you can force all Boost
  1005. libraries to dynamic link by defining BOOST_ALL_DYN_LINK.</p>
  1006. <p>This feature can be disabled for Boost library <em>whatever</em> by
  1007. defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
  1008. BOOST_ALL_NO_LIB.</p>
  1009. <p>If you want to observe which libraries are being linked against then
  1010. defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking code to emit a
  1011. <code>#pragma message</code> each time a library is selected for
  1012. linking.</p>
  1013. <p>There are some Boost libraries (<a href=
  1014. "../libs/test/doc/index.html">Boost.Test</a> is one one special case),
  1015. where automatic linking is not supported for technical reasons: please
  1016. consult the documentation for each of the libraries you are using for more
  1017. information, and the <a href="../libs/config/index.html">Boost.Config</a>
  1018. documentation for more information on configuration macros.&nbsp; The
  1019. following table shows the current supported configurations, (Boost
  1020. libraries not listed here consist of headers only):</p>
  1021. <table id="Table2" cellspacing="1" cellpadding="1" width="100%" border="1">
  1022. <tr>
  1023. <td><strong>Library</strong></td>
  1024. <td><strong>Static Link</strong></td>
  1025. <td><strong>Dynamic Link</strong></td>
  1026. <td><strong>Default linkage</strong></td>
  1027. <td><strong>Automatic library selection</strong></td>
  1028. <td><strong>Comments</strong></td>
  1029. </tr>
  1030. <tr>
  1031. <td>Date-Time</td>
  1032. <td>Yes</td>
  1033. <td>Yes</td>
  1034. <td>static</td>
  1035. <td>Yes</td>
  1036. <td>&nbsp;</td>
  1037. </tr>
  1038. <tr>
  1039. <td>Filesystem</td>
  1040. <td>Yes</td>
  1041. <td>
  1042. <p>Yes</p>
  1043. </td>
  1044. <td>static</td>
  1045. <td>Yes</td>
  1046. <td>&nbsp;</td>
  1047. </tr>
  1048. <tr>
  1049. <td>Graph</td>
  1050. <td>Yes</td>
  1051. <td>No</td>
  1052. <td>static</td>
  1053. <td>No</td>
  1054. <td>The separate Graph library source is needed only when <a href=
  1055. "../libs/graph/doc/read_graphviz.html">reading an AT&amp;T graphviz
  1056. file.</a></td>
  1057. </tr>
  1058. <tr>
  1059. <td>Iostreams</td>
  1060. <td>Yes</td>
  1061. <td>
  1062. <p>Yes</p>
  1063. </td>
  1064. <td>static</td>
  1065. <td>Yes</td>
  1066. <td>&nbsp;</td>
  1067. </tr>
  1068. <tr>
  1069. <td>Program Options</td>
  1070. <td>Yes</td>
  1071. <td>Yes</td>
  1072. <td>static</td>
  1073. <td>Yes</td>
  1074. <td>&nbsp;</td>
  1075. </tr>
  1076. <tr>
  1077. <td>Python</td>
  1078. <td>Yes</td>
  1079. <td>Yes</td>
  1080. <td>dynamic</td>
  1081. <td>No</td>
  1082. <td>Since all Python extensions are DLL's it makes sense to dynamic
  1083. link to the Boost Python library&nbsp;by default (static linking is
  1084. only really an option if you are embedding python).</td>
  1085. </tr>
  1086. <tr>
  1087. <td>Regex</td>
  1088. <td>Yes</td>
  1089. <td>Yes</td>
  1090. <td>static</td>
  1091. <td>Yes</td>
  1092. <td>&nbsp;</td>
  1093. </tr>
  1094. <tr>
  1095. <td>Serialization</td>
  1096. <td>Yes</td>
  1097. <td>Yes</td>
  1098. <td>static</td>
  1099. <td>Yes</td>
  1100. <td>&nbsp;</td>
  1101. </tr>
  1102. <tr>
  1103. <td>Signals</td>
  1104. <td>Yes</td>
  1105. <td>Yes</td>
  1106. <td>static</td>
  1107. <td>Yes</td>
  1108. <td>&nbsp;</td>
  1109. </tr>
  1110. <tr>
  1111. <td>Test</td>
  1112. <td>Yes</td>
  1113. <td>No</td>
  1114. <td>static</td>
  1115. <td>No</td>
  1116. <td>Which library you link to depends upon which program entry point
  1117. you define, rather than which Boost.Test features you use.</td>
  1118. </tr>
  1119. <tr>
  1120. <td>Thread</td>
  1121. <td>Partial</td>
  1122. <td>Yes</td>
  1123. <td>static (Visual C++), otherwise dynamic</td>
  1124. <td>Yes</td>
  1125. <td>For technical reasons static linking is supported on only one
  1126. Windows compiler (Visual C++).</td>
  1127. </tr>
  1128. <tr>
  1129. <td>Wave</td>
  1130. <td>Yes</td>
  1131. <td>Yes</td>
  1132. <td>static</td>
  1133. <td>Yes</td>
  1134. <td>&nbsp;</td>
  1135. </tr>
  1136. </table><br>
  1137. <br>
  1138. <h2><a id="Additional_Steps" name="Additional_Steps"></a>Additional
  1139. Steps</h2>
  1140. <p>Depending on your platform and configuration you may need to perform
  1141. some additional configuration to get Boost to build and install.</p>
  1142. <ul>
  1143. <li><a href="../libs/config/config.htm#configuring">Configure the boost
  1144. source code</a>. This step should not be required on the vast majority of
  1145. platforms, but if you're trying to build Boost on an untested or
  1146. unsupported platform it may be necessary.<br>
  1147. <br></li>
  1148. <li>If Boost.Build has problems detecting your Python installation it
  1149. will print a short messages about how to configure for finding the Python
  1150. installation. For more information, see these detailed <a href=
  1151. "../libs/python/doc/building.html#building">instructions</a>.</li>
  1152. </ul>
  1153. <hr>
  1154. <p>Revised $Date$</p>
  1155. <p>Copyright &copy; Rene Rivera 2003.<br>
  1156. Copyright &copy; Jens Maurer 2001.<br>
  1157. Copyright &copy; John Maddock 2004.</p>
  1158. <p><small>Distributed under the Boost Software License, Version 1.0. (See
  1159. accompanying file <a href="../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
  1160. at <a href=
  1161. "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
  1162. </body>
  1163. </html>
粤ICP备19079148号