由于项目需要,要使用boost,所以在网上找了一些例子帮助理解,其中遇到很多问题,再次总结记录一下。
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/array.hpp>
#include <iostream>
#include <sstream> std::stringstream ss; void save()
{
boost::archive::text_oarchive oa(ss);
boost::array<int, > a = { , , };
oa << a;
} void load()
{
boost::archive::text_iarchive ia(ss);
boost::array<int, > a;
ia >> a;
std::cout << a[] << ", " << a[] << ", " << a[] << std::endl;
} int main()
{
save();
load();
}
源码来自:http://zh.highscore.de/cpp/boost/serialization.html

上述代码命名为test.cpp,使用如下命令编译:

g++ -o main test.cpp

报错主要是undefined reference to boost::archive::archive_exception::archive_exceptiono();

网上说需要在编译的时候指定要使用的动态链接库,于是修改编译命令:

g++ -o main test.cpp -lboost_serialization

报错主要是undefined reference to boost::archive::text_iarchive_impl<boost::archive::text_iarchive>

undefined reference to boost::archive::archive_exception::~archive_exception()等

继续搜索,修改编译命令如下:

g++ -o main test.cpp -lboost_serialization -L /usr/boost_1_60_0/stage/lib

终于不报错了,但是执行./main的时候再次遇到错误: error while loading shared libraries: libboost_serialization.so.1.60.0: cannot open shared object file: No such file or directory .

解决:

1. 首先 find / -name libboost_serialization.so.1.60.0找到缺少的链接文件到底在那儿。

2. 使用LD_DEBUG=libs /usr/Coding/bin/main -v找到程序要去哪里找链接库。

3. 假设 trying file=/usr/lib/libboost_serialization.so.1.60.0 而链接库的实际存储位置是 /usr/local/lib/libboost_serialization.so.1.60.0,做一个软连接 ln -s /usr/local/lib/libboost_serialization.so.1.60.0 /usr/lib/libboost_serialization.so.1.60.0

linux下Boost序列化问题解决的更多相关文章

  1. linux 下Time_wait过多问题解决

    linux 下Time_wait过多问题解决 net.ipv4.tcp_syncookies = 1表示开启SYN Cookies.当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SY ...

  2. linux下boost的安装与编译

    1.从boost官网下载boost库包: 2.然后解压到linux下的任意一个文件夹, 3.进入boost_1_57文件夹下,不同的boost版本会解压城不同的库文件夹, 4.执行././bootst ...

  3. Linux 下 boost 库的安装,配置个人环境变量

    部分引自: https://blog.csdn.net/this_capslock/article/details/47170313 1. 下载boost安装包并解压缩到http://www.boos ...

  4. boost.asio学习笔记一、linux下boost库的安装

    欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46761029 学习开源库第一步就是编译安装好库,然后执行成功一个 ...

  5. Linux下boost编译安装

    说明:下面内容仅针对Linux环境(boost官网为:http://www.boost.org/,可从这里下载它的源代码包,这里要求下载.tar.gz包,而非.7z..zip或bz2包). 在当前目录 ...

  6. Linux下Boost交叉编译

    http://davidlwq.iteye.com/blog/1580752 运行环境:ubuntu 12.04, boost 1.50.0 由于要把boost移植到arm板上去,所以折腾了一下,后来 ...

  7. Mysql依赖库Boost的源码安装,linux下boost库的安装

      boost‘准标准库’安装过程.安装的是boost_1_60_0. (1)首先去下载最新的boost代码包,网址www.boost.org. (2)进入到自己的目录,解压: bzip2 -d bo ...

  8. Linux下boost库的编译、安装详解

    下载boost源码 boost下载地址 解压到一个目录 tar -zxvf boost_1_66_0.tar.gz 编译boost库 进入boost_1_66_0目录中 cd boost_1_66_0 ...

  9. linux下中文乱码问题解决

    1.首先输入locale,查看编码设置 2.是否安装中文支持,没有则安装中文语言支持 方法一:yum方式——完全的中文环境支持. #yum groupinstall chinese-support  ...

随机推荐

  1. LeetCode 856. 括号的分数(Score of Parentheses)

    856. 括号的分数 856. Score of Parentheses 题目描述 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分. AB 得 A + B 分,其中 A ...

  2. LeetCode 75. 颜色分类(Sort Colors) 30

    75. 颜色分类 75. Sort Colors 题目描述 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中, ...

  3. [转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用

    [MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式 ...

  4. c++无关类型指针的强制转换原理的分析和尝试

    因最近看到大量的c类型指针强制转换,联系到c++的reinterpret_cast强制转换符,故总结一下. 先上图 由图中可以看出,先声明了一个结构体t与一个含有三个元素的数组num,接着声明一个指向 ...

  5. js光标定位操作

    1. 自动选中区域内容 <html> <meta http-equiv="Content-Type" content="text/html; chars ...

  6. Java 总结篇2

    第02章:数据类型和运算符 一.概述: 1.数据类型:int.float.char.boolean 2.运算符:算术运算符.赋值运算符.关系运算符.逻辑运算符.位运算符(了解即可).条件运算符 3.基 ...

  7. kubernetes 实践三:使用kubeadm安装k8s1.16.0

    环境版本说明: 三台vmware虚拟机,系统版本CentOS7.6. Kubernetes 1.16.0,当前最新版. flannel v0.11 docker 18.09 使用kubeadm可以简单 ...

  8. [CF896C]Willem, Chtholly and Seniorious

    题目大意:有$n$个数,有$m$次$4$种操作: l r x :将$[l,r]$区间所有数加上$x$ l r x :将$[l,r]$区间所有数变成$x$ l r k :输出$[l,r]$区间第$k$大 ...

  9. THUPC&CTS&APIO2019:Far Away

    流水账~ THUPC nmdwsmduliu! THUPC Day -INF~Day -2 大概就是自己做题和每周两次的考试,lsy和fcw两个外校的来吊打我们qwqqq THUPC Day -1 Z ...

  10. go 学习笔记(3) 基础结构

    package main import ( "fmt" ) const NAME string = "imooc" var a string = "慕 ...