Linux - 找不到共享库

时间:2016-05-16 13:45:23

标签: c++ linux g++ shared-libraries dvb

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

如果一切正常,则会发生磁盘崩溃。

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

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

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

好吧,图书馆似乎在那里。 ls -l在/ 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并且它是libdvbv5.so.0.0.0的直接链接时,我有点混淆为什么它抱怨libdvbv5.so.0。

抓住我的头 - 这是怎么回事?

1 个答案:

答案 0 :(得分:1)

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

/usr/local/lib$ sudo ldconfig