最近由于编译一个程序用到了C++的boost库,所以便安装了这个库。但是,其中遇到了一些小问题。所以记录下来,以供别人参考。
首先说一下我的环境:Ubuntu 16.10 64bit, gcc version 6.2.0
其实在ubuntu下,可以用一下命令直接安装
sudo apt-get install libboost-dev
也可以编译安装。
先下载安装一下依赖文件:
sudo apt-get install mpi-default-dev #安装mpi库 sudo apt-get install libicu-dev #支持正则表达式的UNICODE字符集 sudo apt-get install python-dev #需要python的话 sudo apt-get install libbz2-dev
1.下载boost1.53源文件http://sourceforge.net/projects/boost/files/latest/download?source=dlp
2.解压后,进入boost_1_62_0.tar.gz目录,执行:
./bootstrap.sh
3.(重点)用find命令查找user-config.jam所在的目录。
sudo find ./ -name user-config.jam
修改 config.jam文件,在最后面加上一行“using mpi ;”(注意mpi后面有个空格,然后一个分号 )
4. 执行:
./b2
/*这个不(或者:
./bjam -a -sHAVE_ICU=1 #-a参数,代表重新编译,-sHAVE_ICU=1代表支持Unicode/ICU
)*/
5. 执行:
sudo ./b2 install
//下面的内容没有实际操作过
/*以上便是全部安装过程,因为网上提到的比较多,所以此处从略。重点想提的是第三步,务必记得。不过,如果你的程序不需要mpi这个功能,那也就不重要了。 应用默认设置即可。而且,第四步,执行时可以在后面家prefix参数,如果不加,装好后,默认的头文件在/usr/local/include /boost目录下。库文件在/usr/local/lib/目录下。默认不用修改。
如果编译好程序后,在运行时提示无法加载某个库文件,则把/usr/local/lib下的所有boost的库文件mv到/usr/lib目录下就可以了。
默认安装头文件在目录/usr/local/include,而库文件在目录/usr/local/lib。卸载也很简单,直接将以上两个目录中有关boost的内容删除就可以了。
更多详情可参考boost官方网站:http://www.boost.org/*/