编译的时候出现错误/usr/bin/ld: cannot find -lvtkCommon

在这里插入图片描述
比如错误为: usr/bin/ld: cannot find -lvtkCommon
首先要明白的是 lvtkCommon 代表的是 libvtkCommon.so
明白了这个之后,我们就知道了问题是:在编译的过程中,需要libvtkCommon.so 库,而系统又找不到这个库

解决方法是,手动找到这个库。
你可能会发现,系统中可能已经有 libvtkCommon.so 但是不在默认查找路径(/usr/lib/ 的路径),而是在你自己随便放的一个路径里。
或者是你没找到这个库,但是找到类似 libvtkCommon.so.1.0 这种带版本号的库

如果是上述两种情况,那就好办了,因为本质上你的系统是存在这个库的,只是路径不对,或者是名字不对。

通过locate libvtkCommon 查找库所在位置
在这里插入图片描述
使用软链接 给链接到正确位置:
cd /usr/lib
sudo ln -s /这个库的路径/libvtkCommon.so.5.10 libvtkCommon.so

然后再编译即可(可以直接接着上次出错的地方,再make)

但是 这么修改后,虽然程序能正常运行了,但是qt却开始总是闪退,以为qt版本原因,卸载重装了qt5.7,虽然没有了闪退,但是上面这个错又出来了,这次自己仔细看了看详细报错,看到说是/usr/lib/x86_64-linux-gnu下找不到libvtkCommon.so
所以重新操作,把软链接添加到x86_64-linux-gnu下面,至于闪退,得看今天还有没有这个情况,没有就不再来改了。
在这里插入图片描述
参考该博客

发布了93 篇原创文章 · 获赞 29 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/ljl1015ljl/article/details/100018148