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

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

决定从头开始重新安装所有内容,而不是使用备份,然后再次下载了libdvbv5源并对其进行了重建。一切似乎一切顺利。

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

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

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

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时,它抱怨libdvbv5.so.0,而这是指向libdvbv5.so.0.0.0的直接链接。

对此我挠头-怎么回事?

最佳答案

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

/usr/local/lib$ sudo ldconfig

09-07 09:51