Linux下安装和使用boost库
来源:互联网 发布:protobuffer java 编辑:程序博客网 时间:2024/05/16 09:40
一、安装boost:
(1)到www.boost.org下载相应的代码包,我下载的是boost_1_52_0.tar.bz2
(2)进入自己的工作目录执行解压操作:
luoxiongwei@luoxiongwei:~$bzip2 -d boost_1_52_0.tar.bz2
luoxiongwei@luoxiongwei:~$tar -xvf boost_1_52_0.tar
luoxiongwei@luoxiongwei:~$cd boost_1_52_0
luoxiongwei@luoxiongwei:~/boost_1_52_0$ ./bootstrap.sh //生成安装工具bjam和b2
(3)这里利用b2工具进行安装,可以使用./b2 --help 查看命令选项
(4)准备安装boost库
luoxiongwei@luoxiongwei:~/boost_1_52_0$ sudo ./b2 install
安装完毕后的头文件默认是在/usr/local/include目录下,.a和.so在/usr/local/lib目录下。
然后将需要使用的库sudo cp至/usr/lib 。不然在执行代码时,ldd会提示找不到.so文件。
./main: error while loading shared libraries: libboost_serialization.so.1.52.0: cannot open shared object file: No such file or directory
二、使用boost库:
代码如下:
- #include <iostream>
- #include <sstream>
- #include <string>
- #include <boost/archive/text_iarchive.hpp>
- #include <boost/archive/text_oarchive.hpp>
- #include <vector>
- #include <boost/serialization/vector.hpp>
- #include <fstream>
- using namespace std;
- using namespace boost::serialization;
- using namespace boost::archive;
- int main()
- {
- vector<int> v;
- for(int i=0;i!=12;i++)
- {
- v.push_back(i);
- }
- ofstream os("file",ios::out);
- text_oarchive oa(os);
- oa<<v;
- os.close();
- ifstream is("file",ios::in);
- text_iarchive ia(is);
- vector<int> vr;
- ia>>vr;
- is.close();
- for(size_t i=0;i!=vr.size();++i)
- cout<<vr[i]<<endl;
- return 0;
- }
luoxiongwei@luoxiongwei:~$ g++ -o main testboost.cpp -L/usr/local/lib -lboost_serialization
执行./main
上述代码完成了vector容器的序列化和反序列化。
- Linux下安装和使用boost库
- Linux下安装和使用boost库
- Linux下安装和使用boost库
- Linux下安装和使用boost库
- VS2010下安装和使用boost库
- VS2010下安装和使用boost库
- VS2008下安装和使用BOOST库boost-1_54
- VS2008下安装和使用BOOST库boost-1_54
- linux下boost库安装
- linux(centos)下安装boost库及使用
- Linux下BOOST库的安装与使用
- linux下boost库的安装及使用
- linux下安装boost及boost::thread的使用
- Ubuntu12.04下Boost安装和使用
- linux下安装boost
- Linux下安装boost
- linux 下安装boost
- linux下安装boost
- 算法训练 筛选号码
- Android开发技术前线 (android-tech-frontier) --优质技术文章的聚合项目
- 设计模式-建造者
- Unity按钮事件
- ANDROID自定义视图——onMeasure流程,MeasureSpec详解
- Linux下安装和使用boost库
- APP上架被拒理由
- Delphi : 使用ApplicationEvents来拦截窗体消息,阻止WebBrowser右键菜单
- iOS缓存思路
- Android 应用开发特色
- 解决MyEclipse "Your MyEclipse subscription has expired" 提示
- ICE提纲之demo/Glacier2/callback(跨网回调)
- 引用及指针
- unlink();