1

使用 Code::Blocks (13.12) / g++ 在 Ubuntu 14.04 上使用 DVB V5 库创建一些测试代码。该库已按照下载中的说明进行下载、构建和安装。

如果一切正常,然后磁盘崩溃。

决定从头开始重新安装所有内容而不是使用备份,并再次下载 libdvbv5 源并重建它。一切似乎都很顺利。

从备份中替换了 Code::Blocks 测试项目并清理并重建了它,但是在调试或从命令行运行时......它现在说:

“加载共享库时出错:libdvbv5.so.0:无法打开共享对象文件:没有这样的文件或目录”

好吧,图书馆似乎在那里。ls -l in /usr/local/lib 给出

lrwxrwxrwx 1 root root       17 May 14 21:34 libdvbv5.so ->     libdvbv5.so.0.0.0
lrwxrwxrwx 1 root root       17 May 14 21:34 libdvbv5.so.0 ->    libdvbv5.so.0.0.0
-rwxr-xr-x 1 root root   752569 May 14 21:34 libdvbv5.so.0.0.0

没有它,代码无论如何都不会构建,而且确实如此。我必须承认我有点困惑,为什么它会抱怨 libdvbv5.so.0,而其中链接的是 libdvbv5.so,而这是与 libdvbv5.so.0.0.0 的直接链接。

对此挠头——这是怎么回事?

4

1 回答 1

1

修复它 - 愚蠢 - 在安装 libdvbv5 后忘记运行 ldconfig 来重建缓存。转到 libdir,例如 /usr/local/lib

/usr/local/lib$ sudo ldconfig
于 2016-05-16T14:44:01.150 回答