01.Boost库安装及编译调试

来源:互联网 发布:受警醒明底线知敬畏 编辑:程序博客网 时间:2024/06/10 06:31

部分转载:http://blog.csdn.net/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.csdn.net/mark20170902/article/details/51396927

2.-L: 后接boost库文件夹

3.-l: 这是小写的 L, 接源文件编译所需用到的库文件

4.boost_filesystem库依赖于boost_system库,所以boost_filesystem要写在boost_system的后面

 

 

 5.使用

可以将include文件夹和lib文件夹复制到其他linux操作系统中直接进行调用

注意添加库文件的环境变量 

0 0
原创粉丝点击