VS和Liux环境下分别编译boost标准库

本文详细介绍了Boost库的特性及其在C++开发中的应用,包括如何在VS2008和Linux环境下编译Boost库,并通过实例展示了如何在实际项目中使用Boost库中的关键组件。

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

【一、Boost库的介绍】

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

   Boost库中比较有名的几个库:

   (1)Regex,正则表达式库;

   (2)Spirit,LL parser framework,用C++代码直接表达EBNF;

   (3)Graph,图组件和算法;

   (4)Lambda,在调用的地方定义短小匿名的函数对象,很实用的functional功能;

   (5)concept check,检查泛型编程中的concept;

   (6)Mpl,用模板实现的元编程框架;

   (7)Thread,可移植的C++多线程库;

   (8)Python,把C++类和函数映射到Python之中;

   (9)Pool,内存池管理;

   (10)smart_ptr,智能指针。

 

【二、VS2008下Boost库的编译】

【Setp1 准备工作】:

(1)Boost 下载可以到官方网站下载:

http://www.boost.org/

 

(2)安装VS2008 IDE

 

【Setp2 编译Boost】

1.打开Visual Studio 2008 命令提示窗口

2.进入D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/boost_1_44_0/tools/jam/src

3.执行 build.bat 会在D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/boost_1_44_0

/tools/jam/src/bin.ntx86 生成 bjam.exe文件.

4.Copy bjam.exe 文件到 D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/boost_1_44_0 

6.进入D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/boost_1_44_0 目录

7.执行bjam.exe 编译命令,如下:

 

(1)编译所有boost动态库 release|debug),包括头文件和库文件

bjam --toolset=msvc-9.0 --prefix=D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/output --without-python --build-type=complete  link=shared  threading=multi install

 

(2)只编译 release 版本 regex 动态库,包括头文件和库文件

bjam --toolset=msvc-9.0 --prefix=D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/output1 --with-regex link=shared threading=multi variant=release runtime-link=shared  install

 

(3)只编译 release 版本 regex 动态库,包括库文件

bjam --toolset=msvc-9.0

--stagedir=D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/output2

--with-regex link=shared  threading=multi variant=release runtime-link=shared  stage

 

【注意】: Boost 源代码所在路径最好全英文,不要有空格、特殊字符、中文等

 

编译要花上30分钟左右(根据PC性能所定), 会在指定生成目录:

D:/05_Computer/04_3rdPatry/02Boost/boost_1_44_0/output下生成对应库文件和头文件。

 

8.设置开发环境

打开VS2008 创建工程, 配置工程属性

设置包含文件目录F:/Develop/BoostlibAndDll/include/boost-1_37/boost

设置引用文件目录:F:/Develop/BoostlibAndDll/lib

完成后,可以使用。


【三、Linux下Boost库的编译】

1.下载 boost-1_44 

2. 将文件解压在/usr/local/目录下

3. 进入/usr/local/boost-1_44_0/ 目录, 在terminal中输入

./bootstrap.sh

4.进入/usr/local/boost-1_44_0/ 目录,在terminal中输入

sudo ./b2

5.进入/usr/local/boost-1_44_0/ 目录,在terminal中输入

sudo ./bjam --layout=versioned--build-type=complete--toolset=gccinstall

6.添加环境变量(刚改完要重启或者注销一下来更新刚修改过的环境变量)


两种方法:

(1)修改/etc/profie文件 末尾添加

export BOOST_INCLUDE=/usr/local/include/boost-1_44

export BOOST_LIB=/usr/local/lib

(2)在/etc/profile.d/ 中新建一个shell文件boost.sh

#!/bin/sh

export BOOST_INCLUDE=/usr/local/include/boost-1_44

export BOOST_LIB=/usr/local/lib


测试:
test.cpp

[cpp] view plaincopy
#include <boost/lexical_cast.hpp>  
#include <iostream>  
int main()  
{  
using boost::lexical_cast;  
int a = lexical_cast<int>("123");  
double b = lexical_cast<double>("123.12");  
std::cout<<a<<std::endl;  
std::cout<<b<<std::endl;  
return 0;  
}  

编译:
g++ test.cpp -I$BOOST_INCLUDE -L$BOOST_LIB -o test./test
输出:
123
123.12


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值