01.Boost库安装及编译调试

本文详细介绍了Boost库的下载、解压、安装步骤,并通过两个示例代码演示了如何在项目中使用Boost库的不同部分,包括仅依赖头文件的情况及同时依赖头文件和库文件的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部分转载: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操作系统中直接进行调用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值