boost库的安装和使用略记

boost库的安装和使用略记

一、对于Windows平台,在VS2013中安装配置boost_1_58_0库(默认已安装vs2013)

1.到www.boost.org下载相应的代码包,我下载的是boost_1_58_0.tar.bz2

  1. 解压boost文件到本地目录(如G:\boost_1_58_0),可以发现解压后的文件中有一个bootstrap.bat文件。

然后以管理员身份打开cmd窗口,转到bootstrap.bat文件所在路径,执行bootstrap.bat文件;

3.上述命令执行完毕后,可以发现G:\boost_1_55_0下新生成了一个bjam.exe文件

4.在命令窗口中输入语句:bjam.exe,执行bjam.exe

此过程将默认根据系统已经安装好的编译工具(VS2008,2010,2012,2013)等编译相应的Lib文件、头文件等。(此步骤大概需要10分钟)

5.添加boostest工程的包含目录(include头文件)和库目录(lib库文件)
工程名->配置属性->c/c++->常规->附加包含目录,添加: G:\boost_1_58_0

工程名->配置属性->链接器->常规->附加库目录,添加: G:\boost_1_58_0\stage\lib

在工程中新建文件,内容为

include <boost/lexical_cast.hpp>

include <iostream>

using namespace std;

int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.0123456789");
string s0 = lexical_cast<string>(a);
string s1 = lexical_cast<string>(b);
cout << "number: " << a << " " << b << endl;
cout << "string: " << s0 << " " << s1 << endl;
int c = 0;
try
{
c = lexical_cast<int>("abcd");
}
catch (boost::bad_lexical_cast& e)
{
cout << e.what() << endl;
}
return 0;
}
如果该文件可以编译和执行,则说明在VS2013中成功安装和配置boost_1_58_0库,否则安装和配置失败。
图片说明可以参考 http://jingyan.baidu.com/album/11c17a2c765763f446e39dc1.html?picindex=1

二、在Linux平台,在gcc和g++环境下安装boost库

(1)到www.boost.org下载相应的代码包,我下载的是boost_1_58_0.tar.bz2

(2)进入自己的工作目录执行解压操作:

bzip2 -d boost_1_58_0.tar.bz2
 tar -xvf  boost_1_58_0.tar
 cd boost_1_58_0
./bootstrap.sh //生成安装工具bjam和b2

(3)这里利用b2工具进行安装,可以使用./b2 --help 查看命令选项

(4)准备安装boost库

sudo ./b2 install

安装完毕后的头文件默认是在/usr/local/include目录下,.a和.so在/usr/local/lib目录下。

然后,将需要使用的库sudo cp至/usr/lib 。同时,向ld.so.conf文件中添加libboost_system.so.1.58.0所在的目录路径。

否则,在执行代码时,ldd会提示找不到.so文件。

./main: error while loading shared libraries: libboost_serialization.so.1.58.0: cannot open shared object file: No such file or directory

方法为:

root@boost_1_58_0# sudo vi /etc/ld.so.conf

添加向ld.so.conf文件中添加libboost_system.so.1.58.0所在的目录路径

root@boost_1_58_0# sudo ldconfig

(5)编译和运行一个使用boost库的C++示例文件,检验boost库是否安装和配置成功。

表1. bjam(或b2)的其它参数
--build-dir=<builddir> 编译的临时文件会放在builddir里(编译完就可以把它删除了)
--stagedir=<stagedir> 存放编译后库文件的路径,默认是stage
--build-type=complete 编译所有版本,不然只会编译一小部分版本(相当于:
variant=release,threading=multi;
link=shared|static;runtime-link=shared)
variant=debug|release 决定编译什么版本(Debug or Release)
link=static|shared 决定使用静态库还是动态库
threading=single|multi 决定使用单线程还是多线程库
runtime-link=static|shared 决定是静态还是动态链接C/C++标准库
--with-<library> 只编译指定的库,如输入--with-regex就只编译regex库了
--show-libraries 显示需要编译的库名称

boost库的安装和使用略记

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容