c – 如何链接到旧版本的共享库

前端之家收集整理的这篇文章主要介绍了c – 如何链接到旧版本的共享库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在我的计算机上构建程序,libtiff.so – > libtiff.so.5.
然后在另一台机器上推动构建,其中libtiff.so – > libtiff.so.4.

在运行时,我的程序存在:«加载共享库时出错:libtiff.so.5:无法打开共享对象文件:没有这样的文件或目录».

我无法升级其他机器,我想避免在虚拟机上编译(使用与执行机器相同的linux版本).因此,我想强制编译器使用libtiff.so.4而不是libtiff.so.5.

我在我的计算机上安装了libtiff.so.4(以及libtiff.so.5).如何强制与此版本的链接而不是新版本.我想过移动libtiff.so – > libtiff.so.4,但是如果它需要最新版本,我害怕破坏我的系统(apt-get purge libtiff5给出错误,因为其他一些包需要它).

是否可以链接到较旧(已安装)的库版本?如果有,怎么样?
将libtiff.so的符号链接更改为旧版本是否有害?如果没有,它会解决我的问题吗?

最佳答案
您可以使用此语法链接到库的特定版本:

gcc [other options] -l:libtiff.so.4

您不需要指定路径;搜索通常的目录以便找到库.

注意:正如Michael Wild所提到的,您应该安装该版本的头文件而不是最新版本.

原文链接:https://www.f2er.com/linux/440518.html

猜你在找的Linux相关文章