1

我正在尝试运行在 Ubuntu 18.04 上开发的 C++ 程序。它使用 JSON-C 共享库。它在我的 Ubuntu 18.04 系统上编译和运行没有任何问题。但是它在 Ubuntu 14.04 系统上编译但在运行时崩溃,报告以下消息 -

*** Error in `./main.out': corrupted size vs. prev_size: 0x00007fdd54f49e30 ***Aborted (core dumped)

经过一番挖掘,我发现 JSON-C 库有问题。我已经使用 ldd 命令检查了链接的 JSON-C 库。它在 Ubuntu 18.04 中给了我以下输出-

libjson-c.so.3 => /lib/x86_64-linux-gnu/libjson-c.so.3 (0x00007ff16a88c000)

并遵循 Ubuntu 14.04 -

libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f0848838000)

我猜 JSON-C 版本有问题。我在谷歌上找不到任何有用的信息。任何想法这是什么类型的问题?

4

1 回答 1

0

Ubuntu 18.04 LTS 包含更新版本的库“libjson-c3”。以前的版本,包括 Ubuntu 16.04 LTS 和 14.04 LTS 有一个旧版本“libjson-c2”。

这些版本差异很大,以至于它们不兼容。

如果您必须在 14.04 上运行您的代码,您需要仔细检查 libjson 调用以确定这些兼容性的位置。

或者,您可以尝试在较新的 18.04 上运行您的应用程序,而不必担心支持 14.04

于 2018-12-13T02:26:22.150 回答