使用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