部分转载:http://blog.youkuaiyun.com/xzz_hust/article/details/39583653
1.官网下载
Boost官网下载Boost库 boost_1_60_0_b1.tar.bz2
2.解压文件
创建文件夹 #mkdir /MyBoost
将boost_1_60_0_b1.tar.bz2拷贝到MyBoost中
解压 #tar zxvf boost_1_60_0_b1.tar.bz2
3.安装文件
进入boost_1_60_0_b1文件夹,打开终端
执行 #./bootstrap.sh --prefix=/boost/prefix --includedir=/boost/include --libdir=/boost/lib
(注释:--prefix表示程序安装在哪个目录;--includedir表示头文件存放的目录;
--libdir表示库文件的目录。上条命令中指定的文件目录在执行命令时自动生成文件夹)
执行 #./bjam install > install.log
(此条命令执行时间较长;>install.log无实际意义,纯粹是为了方便查看头文件和库文件的存放位置)
4.测试
4.1只依赖头文件
代码:
#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) << " " );
}
编译:
g++ test.cpp -o test -I /home/xzz/boost_1_56_0/include
结果:
执行 ./test 测试, 输入一个数, 返回这个数乘3的值.
(注释:-I: 大写的i, 指定头文件搜索目录)
4.2依赖头文件和库文件
代码:
#include <iostream>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
int main(int argc, char *argv[])
{
if (argc < 2) {
std::cout << "Usage: tut1 path\n";
return 1;
}
std::cout << argv[1] << " " << file_size(argv[1]) << std::endl;
return 0;
}
编译:
g++ test.cpp -I /boost/include -L /boost/lib -lboost_system -lboost_filesystem
结果:
Usage:tut1 path
(注释:编译之前先看这里
1.需要先将动态库的路径加入到库文件环境变量里http://blog.youkuaiyun.com/mark20170902/article/details/51396927
2.-L: 后接boost库文件夹
3.-l: 这是小写的 L, 接源文件编译所需用到的库文件
4.boost_filesystem库依赖于boost_system库,所以boost_filesystem要写在boost_system的后面
)
5.使用
可以将include文件夹和lib文件夹复制到其他linux操作系统中直接进行调用
注意添加库文件的环境变量