<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]linux平台上编译安装boost库 ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Fri, 26 Dec 2014 05:56:16 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：PHP的gearman需要这Lib库，才能编译得过，做一些多任务分发时需要gearman的PHP扩展。<br/>Download: http://sourceforge.net/projects/boost/?source=typ_redirect<br/><br/>linux平台上编译安装boost库<br/>1.首先解压缩<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tar -zxvf boost_1_45_0.tar.gz <br/>2.然后进入解压缩后的文件夹编译boost的编译器jam<br/>3.执行编译出bjam<br/>&nbsp;&nbsp;&nbsp;&nbsp; ./bootstrap.sh<br/>4.编译完后在这个目录下有编译出的bjam文件<br/>&nbsp;&nbsp;&nbsp;&nbsp; bjam<br/>5.1.45已经将该文件放到了boost的根目录下,不用下述的拷贝了<br/>&nbsp;&nbsp;&nbsp;&nbsp; 然后在这个目录下运行命令编译:<br/>6.进行编译<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./bjam release install<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;系统默认会将include拷贝到/usr/local/include/boost/中<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将lib拷贝到/usr/local/lib下<br/>7.&nbsp;&nbsp;&nbsp;&nbsp;关于bjam的后面的参数的设置：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-sTOOLS=gcc 指定编译器为GCC<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--includedir=/usr/include/<br/>8.&nbsp;&nbsp;&nbsp;&nbsp;指定头文件的安装目录，我安装在/usr/include下。如果安装成功，将在/usr/include/生成目录boost,该目录下就是boost的头文件目录<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--libdir=/usr/lib/boost 指定boost的库文件的存放位置, 生成的 .a .so 文件将放在该目录下<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;install<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译并安装boost3.注意事项安装完成后，为了每次使用时不用输入太多的目录，可以在/etc/profile中加入：BOOST_INCLUDE=/usr/include/boostBOOST_LIB=/usr/lib/boostexport<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOST_INCLUDE BOOST_LIB以后在编译程序时，只需要用：-I$BOOST_INCLUDE -L$BOOST_LIB<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即可，还要使用-l指定了链接库。也许会出现编译时或者运行时找不到动态库（*.so）的错误把/usr/lib/boost追加到动态链接库配置文件/etc/ld.so.conf中,然后直接运行ldconfig，即可！｛仅测试成功一次的方式：<br/> <br/><br/>我这里这样编译可以通过<br/>g++ testBoost.cpp -o testBoostexe -lboost_thread<br/>如果不行,可以将上述<br/>的include 和lib拷贝到/usr/include/<br/> lib拷百到/usr/lib中<br/> <br/> <br/>1、下载解压<br/>一般下载tar tar.bz2 tar.gz zip相对linux解压比较方便，而win则是zip rar tar tar.gz tar.bz2。<br/>linux默认没有rar命令，没有7z命令，win默认没有7z命令，winrar一般装机都有的。<br/>推荐tar.gz tar.bz2 tar zip都可以。<br/>Win平台直接用winrar打开解压即可。<br/>Linux平台tar.gz包使用tar -zxvf，tar tar.bz2使用tar -xjvf，zip包使用unzip -d 目录 xxx.zip<br/> <br/>网络带宽小可以考虑下载7z的源码包，因为他压缩率高，下载时间短。7z包：boost_1_45_0.7z<br/>Win平台需要安装7z，装完7z之后winrar也会支持7z包<br/>Linux平台需要安装7z命令行版本，解压命令:<br/>#7z x boost_1_45_0.7z<br/>x 表示以原文件名为解压路径<br/>使用7z x boost_1_45_0.7z &gt; /dev/null丢弃显示信息，这样更快些，缺点是出错看不到信息。<br/> <br/>2、先编译bjam（Win平台确保是管理员账户，Linux平台确保是root账户）<br/>Win平台运行bootstrap.bat<br/>Linux平台运行bootstrap.sh，如无权限先<br/># chmod 755 ./bootstrap.sh<br/># chmod 755 ./libs/gil/doc/build.sh<br/># chmod 755 ./tools/build/v2/engine/src/build.sh<br/># ./bootstrap.sh<br/> <br/>3、编译boost<br/>WIN平台<br/>bjam --toolset=gcc --build-type=complete &quot;--prefix=c:&#92;boost_gcc4.5.0&quot; install<br/>表示编译所有库：编译出若干lib和dll。<br/>其中lib（静态库）包括单线程release、多线程release、单线程debug、多线程debug四种版本。<br/>其中dll（动态库）只包括多线程release、和多线程debug两种，可能因为单线程版动态库实际应用极少。<br/>默认是安装的VC编译器，使用--toolset=msvc-9.0(gcc)来制定编译器<br/>默认编译到c:&#92;boost,包括include和lib<br/>Linux平台<br/>貌似不支持./bjam --build-type=complete，我们用：<br/>./bjam release install 编译release库并安装<br/>./bjam debug install 编译debug库并安装<br/>头文件默认是/usr/local/include<br/>库文件默认是/usr/local/lib<br/>./bjam -sTOOLS=gcc --includedir=目录 --libdir=目录 install<br/>4、<br/>Win平台在IDE的配置中加入头文件和库文件路径<br/>Linux平台<br/>vi ~/.bash_profile<br/>最后加入<br/>export boost=&#039;<br/>-lboost_date_time<br/>-lboost_filesystem<br/>-lboost_graph<br/>-lboost_iostreams<br/>-lboost_math_c99<br/>-lboost_math_c99f<br/>-lboost_math_c99l<br/>-lboost_math_tr1<br/>-lboost_math_tr1f<br/>-lboost_math_tr1l<br/>-lboost_prg_exec_monitor<br/>-lboost_program_options<br/>-lboost_python<br/>-lboost_regex<br/>-lboost_serialization<br/>-lboost_signals<br/>-lboost_system<br/>-lboost_unit_test_framework<br/>-lboost_wave<br/>-lboost_wserialization&#039;<br/>以后编译就可以使用g++ xxx.cpp $boost即可。<br/><br/>摘处：http://blog.sina.com.cn/s/blog_48d5933f0100o8np.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]linux平台上编译安装boost库 ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>