Linux平台下安装boost库
来源:互联网 发布:淘宝详情代码生成器 编辑:程序博客网 时间:2024/06/08 05:16
Linux平台下安装boost库
今天在给师弟们设计新一代软件框架的时候,需要实现一种功能:存在一种容器,里面存放着不同的数据类型,例如int, double, char,以及一些自己定义的类等等。后来查了一下,实现这种功能最好用C++扩展库boost中的any,所以准备对其进行安装,并进一步使用。
参考链接:
http://blog.csdn.net/zgl_dm/article/details/8363843
http://blog.csdn.net/luo6620378xu/article/details/8226896
http://blog.csdn.net/zhoudaxia/article/details/4292953
一、安装Boost
1、下载源码:
进入网址:http://www.boost.org/users/download/
在官网上可以下载源码包,目前官网上最新的软件包是boost_1_63版本。针对Linux平台,我下载的是boost_1_63_0.tar.bz2文件。
2、编译安装:
解压命令:
tar -xvf boost_1_63_0.tar.bz2
运行解压后生成的bootstrap.sh文件:
cd ./boost_1_63_0./bootstrap.sh
然后使用b2工具进行安装:
sudo ./b2 install
安装完毕之后,头文件默认在/usr/local/include目录中,.a与.so文件在/usr/local/lib目录下。
二、测试程序
笔者使用的编辑软件是Qt5.7.0。打开Qt Creator,创建新工程,输入测试代码:
#include <iostream>#include <list>#include <boost/any.hpp>typedef std::list<boost::any> list_any;//关键部分:可以存放任意类型的对象void fill_list(list_any& la){ la.push_back(10);//存放常数 la.push_back( std::string("dyunze") );//存放字符串对象;注意la.push_back(“dyunze”)错误,因为会被当错字符串数组}//根据类型进行显示void show_list(list_any& la){ list_any::iterator it; boost::any anyone; for( it = la.begin(); it != la.end(); it++ ) { anyone = *it; if( anyone.type() == typeid(int) ) std::cout<<boost::any_cast<int>(*it)<<std::endl; else if( anyone.type() == typeid(std::string) ) std::cout<<boost::any_cast<std::string>(*it).c_str()<<std::endl; }}int main(){ list_any la; fill_list(la); show_list(la); return 0;}
运行结果如下:
10dyunze按 <RETURN> 来关闭窗口...
至此,Boost 1.63.0安装完成。
0 0
- Linux平台下安装boost库
- linux下boost库安装
- Window 平台下安装Boost
- linux下安装boost
- Linux下安装boost
- linux 下安装boost
- linux下安装boost
- linux 下安装boost
- linux下安装boost
- linux下安装boost
- Linux 下安装Boost
- linux下安装boost
- linux下安装boost
- linux下安装boost
- linux下安装boost
- linux下安装boost
- linux下安装boost
- linux下安装boost
- qgjsfagafgpjqip
- 有关Python序列化和存在的反序列化缺陷思考
- 每天学习计划及进度汇总
- JAVA基础——面向对象设计原则 类的设计原则
- 约瑟夫环
- Linux平台下安装boost库
- 验收测试,回归测试
- 163邮箱客户端授权密码怎么获得?
- ubuntu安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法
- ti
- 解耦框架 ModularizationArchitecture 的改进版本
- 链栈的基本操作
- 我人生的第一个bug
- 001.Shell脚本数据库备份