﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天外流星</title><link>http://www.cppblog.com/arthurlee/</link><description>(邵雍-心安吟)
心安身自安，身安室自宽。心与身俱安，何事能相干。谁谓一身小，其安若泰山。谁谓一室小，宽如天地间。</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 21:10:00 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 21:10:00 GMT</pubDate><ttl>60</ttl><item><title>boost 1.35.0 Visual Studio 2008编译指南</title><link>http://www.cppblog.com/arthurlee/archive/2008/04/07/46427.html</link><dc:creator>arthur</dc:creator><author>arthur</author><pubDate>Mon, 07 Apr 2008 07:55:00 GMT</pubDate><guid>http://www.cppblog.com/arthurlee/archive/2008/04/07/46427.html</guid><wfw:comment>http://www.cppblog.com/arthurlee/comments/46427.html</wfw:comment><comments>http://www.cppblog.com/arthurlee/archive/2008/04/07/46427.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/arthurlee/comments/commentRss/46427.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/arthurlee/services/trackbacks/46427.html</trackback:ping><description><![CDATA[<h1>一。下载</h1>
<p>boost库2008年3月底发布了1.35.0版本，包括了12个新的库和若干对于新库的修正。请参见<a title=http://www.boost.org/users/news/version_1_35_0 href="http://www.boost.org/users/news/version_1_35_0">http://www.boost.org/users/news/version_1_35_0</a>来获取详细的更新信息。</p>
<p>最大的喜讯就是提供了对于Visual Studio 2008编译器的支持（1.34也可以，但是需要手工修改）。</p>
<blockquote>
<p><strong><font color=#0000ff>下载地址：</font></strong> <br><a title=http://www.boost.org/users/download/ href="http://www.boost.org/users/download/">http://www.boost.org/users/download/</a></p>
</blockquote>
<p>boost JAM可以不用下载，源代码已经包括在boost库中，可以直接来编译出来。</p>
<h1>二。准备工作</h1>
<p>编译boost库之前，需要做一些准备工作。下载一些Open Source的包，来支持boost特定库的需要。</p>
<h2>1. ICU</h2>
<p>ICU提供了unicode和国际化支持，目前的版本是3.8.1。ICU的主页是<a title=http://www.icu-project.org/ href="http://www.icu-project.org/">http://www.icu-project.org/</a>。</p>
<h3>(1). 下载</h3>
<p>可以从<a title=http://www.icu-project.org/download/3.8.html href="http://www.icu-project.org/download/3.8.html">http://www.icu-project.org/download/3.8.html</a>下载源代码版本和使用VS2005编译的版本。推荐下载源代码版本自己进行编译，以避免依赖于VS2005的运行时库。</p>
<h3>(2). 编译</h3>
<p>ICU的编译比较简单，打开ICU源代码目录下的source\allinone\allinone.sln，需要转换到VS2008格式，直接转换即可。然后，选择release，Rebuild Solution即可。</p>
<p>(3). 测试</p>
<p>将编译出来的bin目录加入到系统的PATH目录中去。然后，重新打开allinone.sln工程。</p>
<p>需要通过测试的项目</p>
<ol>
    <li>cintltst项目
    <li>intltest项目
    <li>iotest </li>
</ol>
<p>分别设置成启动项目，运行即可。</p>
<h2>2. bzip</h2>
<p>bzip的主页是 <a title=http://www.bzip.org/ href="http://www.bzip.org/">http://www.bzip.org/</a>，从<a title=http://www.bzip.org/downloads.html href="http://www.bzip.org/downloads.html">http://www.bzip.org/downloads.html</a>下面下载源代码包即可，boost直接使用源代码来进行编译。</p>
<h2>3. zlib</h2>
<p>zlib的主页是<a title=http://www.zlib.net/ href="http://www.zlib.net/">http://www.zlib.net/</a>，从该网页下面下载源代码包即可，boost直接使用源代码来进行编译。</p>
<h2>4. python</h2>
<p>python的主页是<a title=http://www.python.org/ href="http://www.python.org/">http://www.python.org/</a>，下载python的2.5.2版本，安装即可。boost默认是会编译python，并且会自动寻找python的安装目录。</p>
<h1>三。编译</h1>
<p>到开始菜单的VS2008菜单项下，启动Visual Studio 2008 Command Prompt，以下编译步骤均假定直接在该工具下进行编译。</p>
<h2>1. 编译jam</h2>
<p>到tools\jam目录下面运行build_dist.bat，编译好的放在tools\jam\stage\boost-jam-3.1.16-1-ntx86目录下，将bjam.exe复制到boost的根目录。</p>
<h2>2. 编译boost</h2>
<p>鉴于参考2下使用build-type有问题，可以使用以下命令来分别编译dll版本和lib版本。下面是一个示例脚本的例子，其中的目录需要替换：</p>
<blockquote>
<p><font color=#0000ff>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">REM&nbsp;used&nbsp;with&nbsp;iostream&nbsp;library&nbsp;<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>REM&nbsp;boost_1_35_0\libs\iostreams\doc\installation.html&nbsp;<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>set&nbsp;BZIP2_SOURCE</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">E:\library\bzip2-1.0.4</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>set&nbsp;ZLIB_SOURCE</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">E:\library\zlib123</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>REM&nbsp;used&nbsp;with&nbsp;regex&nbsp;library&nbsp;with&nbsp;unicode&nbsp;support&nbsp;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>set&nbsp;ICU_PATH</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">E:\library\icu</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>REM&nbsp;DLL版本&nbsp;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>bjam&nbsp;--toolset</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">msvc&nbsp;--stagedir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">./lib_x86&nbsp;--builddir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">./&nbsp;address-model</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">32</span><span style="COLOR: #000000">&nbsp;link</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">shared&nbsp;runtime-link</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">shared&nbsp;threading</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">multi&nbsp;stage&nbsp;debug&nbsp;release<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>REM&nbsp;lib版本&nbsp;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>bjam&nbsp;--toolset</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">msvc&nbsp;--stagedir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">./lib_x86&nbsp;--builddir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">./&nbsp;address-model</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">32</span><span style="COLOR: #000000">&nbsp;link</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">static&nbsp;runtime-link</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">shared&nbsp;threading</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">multi&nbsp;stage&nbsp;debug&nbsp;release<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p></font>&nbsp;</p>
</blockquote>
<p>编译好的文件放置在boost根目录的lib_x86\lib目录下，在boost根目录下的bin.v2目录是中间文件，编译后删除即可。</p>
<p>如果需要去掉编译过程中的一些warning，可以在tools\build\v2的user-config.jam文件中加入以下这一行：</p>
<blockquote>
<p><font color=#0000ff></p>
<fieldset><legend></legend><font color=#0000ff>using msvc : : : &lt;compileflags&gt;/wd4819 &lt;compileflags&gt;/D_CRT_SECURE_NO_DEPRECATE &lt;compileflags&gt;/D_SCL_SECURE_NO_DEPRECATE &lt;compileflags&gt;/D_SECURE_SCL=0 ;</font></fieldset></font>
<p>&#160;</p>
</blockquote>
<h1>四。参考文章</h1>
<p>1. vs2005下安装boost <br><a title=http://hi.baidu.com/vivid217/blog/item/8e484eafd3b52ff8faed5063.html href="http://hi.baidu.com/vivid217/blog/item/8e484eafd3b52ff8faed5063.html">http://hi.baidu.com/vivid217/blog/item/8e484eafd3b52ff8faed5063.html</a></p>
<p>2. boost1.35.0编译日志 <br><a title=http://www.cppblog.com/chemz/archive/2008/03/31/45822.html href="http://www.cppblog.com/chemz/archive/2008/03/31/45822.html">http://www.cppblog.com/chemz/archive/2008/03/31/45822.html</a></p>
<img src ="http://www.cppblog.com/arthurlee/aggbug/46427.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/arthurlee/" target="_blank">arthur</a> 2008-04-07 15:55 <a href="http://www.cppblog.com/arthurlee/archive/2008/04/07/46427.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>