做好自己份内事
分类: LINUX
2015-12-22 09:03:27
首先对centos下yum对boost的支持吐槽一下。说实话下面这两条安装命令坑了我许久:
yum install boost
yum install boost-devel
这两条命令貌似也是可以安装boost,但是我在编译muduo库的时候总是有问题,最后不得不使用源代码安装。
在ubuntu下这个问题就简单多了,直接执行命令:
sudo apt-get install libboost-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libboost-test-dev
就可以了,其实我只执行了第一第三条命令
Boost源代码下载地址:。
选择下载对应的boost源码包。
解压文件,进入源代码路径执行命令:
./bootstrap.sh
这一条命令完成boost默认配置,当然编译boost是需要gcc g++的支持的。如果没有gcc g++可以执行命令:
yum install gcc gcc-c++
安装gcc g++
这一条命令默认的安装路径配置为/usr/local/路径下。及执行这条命令等同执行以下命令
./bootstrap.sh –prefix=/usr/local/
也就是默认的boost头文件安装到/usr/local/include/文件夹下。boost库文件会安装到/usr/local/lib/文件夹下。安装完成之后你会在对应的文件夹下看到对应的文件。
执行完上一条命令之后可以执行命令
./b2编译然。也可以直接执行下面安装命令
./b2 install或者./bjam install
安装命令应该是管理员权限,因为需要到向系统中拷贝文件及库文件。个人对这后面两条命令的区别不是很清楚,个人感觉应该都差不多吧。
默认安装在/usr/local/应该就默认可以用的。如果在编译时找不到头文件或者找不到库文件,可以在编译选项中增加-I/usr/local/include/ -L/usr/local/lib/。运行时如果找不到库文件,则需要将boost库文件路径告诉系统。在/etc下面有文件ld.so.conf。可以直接把boost库文件路径增加到文件中新的一行。也可以看到ld.so.conf文件其实是包含/etc/ld.so.conf.d下所有的conf文件。所以也可以在/etc/ld.so.conf.d路径下新建一个文件,加入boost库文件路径。
配置文件之后执行ldconfig更新系统的库文件路径即可。