只是爲此問題添加了一個通用示例。讓我們假設我們想要序列化一個沒有任何類或任何東西的向量。這是你如何能做到這一點:
#include <iostream>
#include <fstream>
// include input and output archivers
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
// include this header to serialize vectors
#include <boost/serialization/vector.hpp>
using namespace std;
int main()
{
std::vector<double> v = {1,2,3.4, 5.6};
// serialize vector
{
std::ofstream ofs("/tmp/copy.ser");
boost::archive::text_oarchive oa(ofs);
oa & v;
}
std::vector<double> v2;
// load serialized vector into vector 2
{
std::ifstream ifs("/tmp/copy.ser");
boost::archive::text_iarchive ia(ifs);
ia & v2;
}
// printout v2 values
for (auto &d: v2) {
std::cout << d << endl;
}
return 0;
}
由於我使用Qt,這是我的qmake臨文件內容,展示如何鏈接,包括升壓文件:
TEMPLATE = app
CONFIG -= console
CONFIG += c++14
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
include(deployment.pri)
qtcAddDeployment()
INCLUDEPATH += /home/m/Downloads/boost_1_57_0
unix:!macx: LIBS += -L/home/m/Downloads/boost_1_57_0/stage/lib -lboost_system
unix:!macx: LIBS += -L/home/m/Downloads/boost_1_57_0/stage/lib -lboost_serialization
這段代碼不行?你輸入的內容看起來正確。你遇到了什麼錯誤? – robert 2010-11-25 10:55:28