费了半天的力气终于在linux上架好了boost,不容易。。。
参考网址:我的系统是CnetOS6.3的版本
我下面简单来说明下安装步骤:
第一步肯定是要先去官网下载一个安装包,我下载的是最新的(1_52_0.tar.gz)的版本,注意一定要看清下载的包是否是.tar.gz或者.rpm;然后就是要将这>个包移动到你要装的那个文件夹里。这里呢我要说明一点如果刚形如接触Linux的新手的话>可能不会用移动或者复制,这时候可以问下度娘(说实话,做这个的时候由于我菜鸟,装不上的时候都快把我急的哭了,心情可以理解,一步一步来吧,我尽量详细说)。当我下载好的文件是在/home/wcq/下载/boost_1_52_0_beta1.tar.bz。我在home下又新建了一个文件>夹,新手同学注意,如果你想直接右键鼠标-》新建文件夹,是无法建立的,我们只能通过终端命令来建立,打开屏幕左上角的应用程序-》系统工具-》终端,这个就可以用命令来执行了,每次打开都比较麻烦,你可以把它拖到任务栏中,也样也方便。说到我想在home文件夹下建立一个名为boost的文件夹,我们要在终端里输入$ cd /home回车,先进入到home>文件下,在输入$ mkdir boost回车,如果它提示你权限不够时,那先输入$ su root回车,然后是输入你的密码再重新建立boost文件夹就建好了。 第二步我们就要把下载好的.tar.bz移动或复制到新建好的boost文件夹中,如果>右键能复制粘贴最好,如果不能我们接着用命令来做。我们先把目录切换到boost.tar的当前>目录中去,输入$ cd ..回车,返回到home文件夹中,然后在输入$ cd wcq/下载,回车接着输入$ cp boost_1_52_0_beta1.tar.bz /home/boost回车,这样就把tar复制到我们新>建的boost文件夹下了。我们在用终端切回到boost目录下(这个切换目录应该会了吧,和windows上的一样)。 第三步我们将开始解压boost_1_52_0_beta1.tar.bz文件到当前文件夹下(也就是>现在的boost下),我们输入$ ar -zxvf boost_1_52_0_beta1.tar.bz(名字视具体下载版本而定),解压完后我们接着在解压出来的boost_1_52_0_beta1文件夹下创建一个名叫example.cpp的文件,如果点右键不能创建那我们接着用命令吧,输入$ vi example.cpp回车,这样我们就创建好example.cpp文件并进入它的编辑视图了(vi命令自己可以度娘的,我就不详>细说了),我们先按下a,然后把#include <boost/lambda/lambda.hpp>#include <iostream>#include <iterator>#include <algorithm>int main(){ using namespace boost::lambda; typedef std::istream_iterator<int> in; std::for_each( in(std::cin), in(), std::cout << (_1 * 3) << " " );} 这段代码粘贴进去就行了,按下ESC键,输入:wq回车,它就保存并退出编辑界面返回到>终端命令行了 第四步我们接着输入$ g++ -I /home/water/source_code/boost_1_40_0/ example.cpp -o example回车,嘿嘿问题来喽。。。对,你看到了什么情况呢,是不是他提示你没>有找到g++这个东东呢,再输一遍是不是还是一样呢,如果你当初在安装的时候把gcc-c++打上对钩了,它就不会出现这个问题。。。既然出了我们就解决吧,我当初安装的时候都没有注意这个,所以我就卡这了。来吧,我们先去问下度娘CentOS下安装gcc这个东东,她就会>给我们好多答案,那我就为大家总结下,也省些你们的麻烦,以后记住怎么弄就好了。我的解决办法是,先找到你当初安装Linux系统的时候CentOS6_3.iso的镜像文件,然后打开它,在他那个镜像文件里有个叫Packages的文件夹,然后到这个文件夹中先去找到mpfr-2.4.1-6.el6.i686.rpmppl-0.10.2-11.el6.i686.rpm这两个RPM,然后双击安装就行,因为是rpm格式,相当于windows下的exe文件。两个文件依次安装完后我们再次输入$ g++ -I /home/water/source_code/boost_1_40_0/ example.cpp -o example回车,是不是还是提示你找不到g++呢,这时候淡>疼了,那我们接着来吧。如果现在你能上网,我们就直接用终端输入$ yum install gcc gcc-c++ kernel-devel回车,看这下是否管用,OH OH 。。。真的编译通过了。如果你不能上网,不好意思你还要淡疼会。那么就让我们看看没外网如何解决吧。还是要先找到镜像文件中的Packages文件夹,然后去里面找到glibc-common-2.12-1.7.el6.i686.rpmkernel-headers-2.6.32-71.el6.i686.rpmlibgcc-4.4.4-13.el6.i686.rpmglibc-2.12-1.7.el6.i686.rpmmpfr-2.4.1-6.el6.i686.rpmcpp-4.4.4-13.el6.i686.rpmlibgomp-4.4.4-13.el6.i686.rpmnscd-1.12-1.7.el6.i686.rpmglibc-headers-2.12-1.7.el6.i686.rpmglibc-devel-2.12-1.7.el6.i686.rpmppl-0.10.2-11.el6.i686.rpmcloog-ppl-0.15.7-1.2.el6.i686.rpmgcc-4.4.4-13.el6.i686.rpmlibstdc++-4.4.4-13.el6.i686.rpm
libstdc++-devel-4.4.4-13.el6.i686.rpmgcc-c++-4.4.4-13.el6.i686.rpm这些个淡疼的rpm文件,然后你要做的工做就是把它们从Packages文件中弄到你的boost文件里,记住一定要弄到和boost_1_52_0_beta1文件同目录下,要不然它们可是不会自己去认亲的。而你要做的工作就是从Packages文件夹中右键复制到另一个文件夹中,因为你是不能直接复制到boost下的,权限不够,要不然我也不会淡疼。没办法只能先放到第三方文件夹下>了,最好是和boost在同根目录下要不你切换起来比较麻烦。只能一个一个的用命令往boost中复制了。。。rp rp rp 这次你就不会忘记rp是什么命令了吧。。。加油你已成功一大半>了。复制完后依次安装吧,可以双击,也可以在终端下用命令来安装:首先切换到boost目>录下然后输入$ rpm -ivh glibc-common-2.12-1.7.el6.i686.rpm回车,直到全部装完就OK>了。有的可能会装不进去那你只能等网用上面那个方法了。。。到这算是通过编绎吧 第五步我们再把$ g++ -I /home/water/source_code/boost_1_40_0/ example.cpp -o example回车,终于出现了另一种进度,等吧,这个编绎要一会时间,你可以休息几分>钟来缓解下了。。。要注意看着命令行,它会出现Is this ...y/n? 当然是Y,继续。。。>中间会出现两次,等到完成后就会跳回到命令行,然后我们接着输入$ ./bootstrap.sh –prefix=path/to/installation/prefix回车,也会编绎一会,也要输一次Y,等跳出命令行时>在输入$ ./bjam install等着很快就好,然后你在输入$ g++ example.cpp -o example回车,对,你发现了什么,是不是直接跳到命令行,恭喜你,此时boost架设完毕。。。之后的>事就是自己调试吧。。。