linux编译boost

来源:互联网 发布:格力空调代码含义 知乎 编辑:程序博客网 时间:2024/05/17 04:11
linux平台下要编译安装除gcc和gcc-c++之外,还需要两个开发库:bzip2-devel 和python-devel,因此在安装前应该先保证这两个库已经安装:
<p sizcache="23" sizset="31"><span class="com">#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y</span></p>
然后是去官网下载源码包,地址
下载,解压,按照如下步骤:
<p sizcache="23" sizset="32"><span class="com">#tar xvzf boost_1_50_0.tar.gz</span></p>
进入boost_1_50_0目录:
<p sizcache="23" sizset="33"><span class="com">#cd boost_1_50_0</span></p>

然后是编译安装,boost源码包中有配置脚本,直接用就可以:

<p sizcache="23" sizset="34"><span class="com">#sh ./bootstrap.sh</span></p><p sizcache="23" sizset="35"><span class="com">Building Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linuxx86_64/b2</span><span class="typ">Detecting</span><span class="pln"> </span><span class="typ">Python</span><span class="pln"> version</span><span class="pun">...</span><span class="pln"> </span><span class="lit">2.6</span><span class="typ">Detecting</span><span class="pln"> </span><span class="typ">Python</span><span class="pln"> root</span><span class="pun">...</span><span class="pln"> </span><span class="pun">/</span><span class="pln">usr</span><span class="typ">Unicode</span><span class="pun">/</span><span class="pln">ICU support </span><span class="kwd">for</span><span class="pln"> </span><span class="typ">Boost</span><span class="pun">.</span><span class="typ">Regex</span><span class="pun">?...</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> found</span><span class="pun">.</span><span class="typ">Generating</span><span class="pln"> </span><span class="typ">Boost</span><span class="pun">.</span><span class="typ">Build</span><span class="pln"> configuration </span><span class="kwd">in</span><span class="pln"> project</span><span class="pun">-</span><span class="pln">config</span><span class="pun">.</span><span class="pln">jam</span><span class="pun">...</span><span class="typ">Bootstrapping</span><span class="pln"> </span><span class="kwd">is</span><span class="pln"> </span><span class="kwd">done</span><span class="pun">.</span><span class="pln"> </span><span class="typ">To</span><span class="pln"> build</span><span class="pun">,</span><span class="pln"> run</span><span class="pun">:</span><span class="pln">    </span><span class="pun">./</span><span class="pln">b2</span><span class="pln">    </span><span class="typ">To</span><span class="pln"> adjust configuration</span><span class="pun">,</span><span class="pln"> edit </span><span class="str">'project-config.jam'</span><span class="pun">.</span><span class="typ">Further</span><span class="pln"> information</span><span class="pun">:</span><span class="pln">   </span><span class="pun">-</span><span class="pln"> </span><span class="typ">Command</span><span class="pln"> line help</span><span class="pun">:</span><span class="pln">     </span><span class="pun">./</span><span class="pln">b2 </span><span class="pun">--</span><span class="pln">help</span><span class="pln">     </span><span class="pln">   </span><span class="pun">-</span><span class="pln"> </span><span class="typ">Getting</span><span class="pln"> started guide</span><span class="pun">:</span><span class="pln"> </span><span class="pln">     http</span><span class="pun">:</span><span class="com">//www.boost.org/more/getting_started/unix-variants.html</span><span class="pln">     </span><span class="pln">   </span><span class="pun">-</span><span class="pln"> </span><span class="typ">Boost</span><span class="pun">.</span><span class="typ">Build</span><span class="pln"> documentation</span><span class="pun">:</span><span class="pln">     http</span><span class="pun">:</span><span class="com">//www.boost.org/boost-build2/doc/html/index.html</span></p>
接下来就是编译,重点关注是否编译成功:
<p sizcache="23" sizset="136"><span class="com">#./b2</span></p>
然后就是漫长的等待,如果最后出现:
<p sizcache="23" sizset="137"><span style="COLOR: #ff0000" sizcache="23" sizset="138"><span class="typ">The</span><span class="pln"> </span><span class="typ">Boost</span><span class="pln"> C</span><span class="pun">++</span><span class="pln"> </span><span class="typ">Libraries</span><span class="pln"> were successfully built</span><span class="pun">!</span></span><span class="pln">          </span><span class="typ">The</span><span class="pln"> following directory should be added to compiler include paths</span><span class="pun">:</span><span class="pln">          </span><span class="pln">    </span><span class="str">/home/</span><span class="pln">gang</span><span class="pun">/</span><span class="pln">BAK</span><span class="pun">/</span><span class="pln">boost_1_50_0</span><span class="pln">      </span><span class="typ">The</span><span class="pln"> following directory should be added to linker library paths</span><span class="pun">:</span><span class="pln">      </span><span class="pln">    </span><span class="str">/home/</span><span class="pln">gang</span><span class="pun">/</span><span class="pln">BAK</span><span class="pun">/</span><span class="pln">boost_1_50_0</span><span class="pun">/</span><span class="pln">stage</span><span class="pun">/</span><span class="pln">lib</span></p><p></p><p>最后,sudo ./b2 install --prefix=/usr/local </p><p sizcache="23" sizset="175"><span style="FONT-FAMILY: 宋体; FONT-SIZE: 14px"></span></p><p>1、  boost中大部分库是不用编译成动态或者静态链接库。</p><p>2、  只有regex,thread等几个库比较麻烦一点.要编译。</p><p>3、  如果用gcc编译器-l指定动态链接库的路径,还要指定头文件的路径。</p><p sizcache="23" sizset="176">4、  或者链接的boost库放到.c或.cpp之后,否则链接不能通过,编译可以通过。</p><p>如下所示:g++ -lz -lpthread <strong>hh.c -lboost_filesystem -lboost_thread</strong></p><p></p><p>http://blog.163.com/yungang_z/blog/static/175153133201262445539767/ </p>
0 0
原创粉丝点击