boost库的使用问题总结

摘要:
直到最近,我才使用了著名的boost库。我经历了很多,因为我直到现在都不知道。要使用boost,您需要在使用它之前进行编译。编译是第一个大问题。详细信息如下:boost库版本:boost 1.48.0目标平台:windows xpSP3,Linux Ubuntu 2.6.24-22-generic。c、 在VS2011中,将boost目录和库目录添加到VC项目属性中。比例程序名为sample,编译时的命令如下:g++-I/path/to/boot/-osamplesample.cppxxx。cppxx h-L/path/to/boost/lib-lboost_Xxx,其中Xxx中的boost_Xxx表示boost数据库的名称。这是我认为我在使用boost时应该注意的。

直到最近才使用大名鼎鼎的boost库,从什么都不知道到现在能用,也算经历了不少事情。使用boost首先就需要编译,然后才可以使用,编译就是第一个大问题,详细情况如下:

boost库版本:boost 1.48.0

目标平台:windows xp SP3,Linux Ubuntu 2.6.24-22-generic。

1. Windows XP SP3 和 VS2011 下的编译和使用

a.使用自启动程序bootstrap.bat

b. 在cmd中编译,具体的选项设置可以google 一下,注意的是在windows下variant=debug release都是可以的,也可以生成静态库或者动态库,可以选用stage 或者是 install。

c. 在VS2011中使用是,在VC工程属性中,将boost的目录和库目录加入。在使用静态库是没有什么问题,但是在使用动态链接库是必须定义BOOST_ALL_DYN_LINK,否则使用时会报错。

2.  Linux Ubuntu 2.6.24-22-generic,gcc-4.2.4

a. 使用bootstrap.sh 创建bjam

b. 在编译时注意,不要同时生成debug和release版本,否则会duplicate target这类的错误,其他的没有什么不同。

c. 在程序链接是一定要注意库的链接顺序。比例程序名为sample,那么编译时的命令如下:

g++ -I/path/to/boost/ -o sample sample.cpp xxx.cpp xx.h -L/path/to/boost/lib -lboost_xxx,其中boost_xxx中的xxx代表boost库的名字。这个时候的链接顺序一定要把-L

和-l命令和你的源程序文件放在一起,放在后面, 否则一定会有一大堆的undefined reference错误。

这就是我使用boost的时候,觉得应该注意的地方了。 

 

免责声明:文章转载自《boost库的使用问题总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇GIS-开发例程、源代码、MapXtreme、Map (转)邮箱验证下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

boost的下载和安装(windows版)

1 简介 boost是一个准C++标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。 boost主要包含以下几个大类: 字符串及文本处理、容器、迭代器(iterator)、算法、函数对象和高阶编程、泛型编程、 模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、...

Centos 安装boost库

1.在http://www.boost.org/下载boost安装包boost_1_65_1.tar.gz 2.在Centos上解压tar -zxvf boost_1_65_1.tar.gz后,cd进入boost_1_65_1目录 3.安装boost库到指定目录 ./b2 install --prefix=/home/dj/lib/boost/  4.如果...

ubuntu 14.04 源码编译mysql-5.7.17

环境为 Ubuntu 12.04 64 位的桌面版 编译的mysql 版本为 5.7.18 首先需要安装一下依赖包 sudo apt-get install libncurses5-dev cmake chkconfig 创建用户组和用户 mysql groupadd mysql useradd -r -g mysql -s /bin/bash mysq...

boost test学习(一)

据说相比之cppunit等其它的测试工具更好用,反正当初cppunit没能够在实际工作中派上用场,今天突然看到boost test库,而且是boost库内置的,研究一下。 test库将测试程序定义为一个测试模块,由测试安装,测试主体,测试清理和测试运行器四个部分组成。测试主体是测试模块的实际运行部分,由测试用例和测试套件组织成测试树的形式。 刚开始测试时,...

C++04:使用Boost-小试Regex库

C++04:使用Boost-小试Regex库 C++04:使用Boost-小试Regex库 2009-10-29 11:57 一、编写代码 下面代码实现的功能:找出html文件中的所有链接 /* * regex_test.cpp * */ #include <iostream> #include <fstream&g...

boost1.59编译安装

boost 1.59.0编译及使用 1、下载:        网址:http://sourceforge.net/projects/boost/files/boost/1.59.0/        选择:boost_1_59_0.7z或者boost_1_59_0.zip (Windows 8.1企业版操作系统);                    bo...