我正在自己的计算机上构建我的程序,其中
运行时,我的程序存在以下错误:「无法加载共享库
我不能升级其他计算机,并且我想避免在虚拟机上编译(使用与执行机器相同的Linux版本)。因此,我想强制编译器使用
我在我的计算机上安装了
是否可以链接到较旧的(已安装的)库版本?如果可以,如何操作?更改
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
的符号链接是否有害?如果不是,是否可以解决我的问题?
-ltiff
如何?(您还需要针对libtiff4兼容的头文件进行编译)。 - n. m.mkdir /tmp/lib; ln -s /usr/lib/libtiff.so.4 /tmp/lib/libtiff.so; ld -L /tmp/lib ...
。 - n. m.