泰安市两学一做网站,杭州建设网站职称人才工作专题,南充网站建设服务,全国做网站排行由于在毕业设计中需要用到C对象序列化工具#xff0c;所以想利用boost库中的serialization库。Boost库分为两个部分来使用#xff0c;一是直接使用对应的头文件#xff0c;二是需要编译安装相应的库才可以使用。下面记录一下今天的安装和使用过程#xff08;整个boost库全部…由于在毕业设计中需要用到C对象序列化工具所以想利用boost库中的serialization库。Boost库分为两个部分来使用一是直接使用对应的头文件二是需要编译安装相应的库才可以使用。下面记录一下今天的安装和使用过程整个boost库全部安装
一、安装boost
1到www.boost.org下载相应的代码包我下载的是boost_1_52_0.tar.bz2
2进入自己的工作目录执行解压操作 luoxiongweiluoxiongwei:~$bzip2 -d boost_1_52_0.tar.bz2 luoxiongweiluoxiongwei:~$tar -xvf boost_1_52_0.tar luoxiongweiluoxiongwei:~$cd boost_1_52_0 luoxiongweiluoxiongwei:~/boost_1_52_0$ ./bootstrap.sh //生成安装工具bjam和b2
3这里利用b2工具进行安装可以使用./b2 --help 查看命令选项
4准备安装boost库
luoxiongweiluoxiongwei:~/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库
代码如下 [cpp] view plain copy #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() { vectorint v; for(int i0;i!12;i) { v.push_back(i); } ofstream os(file,ios::out); text_oarchive oa(os); oav; os.close(); ifstream is(file,ios::in); text_iarchive ia(is); vectorint vr; iavr; is.close(); for(size_t i0;i!vr.size();i) coutvr[i]endl; return 0; } luoxiongweiluoxiongwei:~$ g -o main testboost.cpp -L/usr/local/lib -lboost_serialization
执行./main
上述代码完成了vector容器的序列化和反序列化。