Gcc 库版本问题和冲突

Gcc 库版本问题和冲突,gcc,makefile,cmake,shared-libraries,libraries,Gcc,Makefile,Cmake,Shared Libraries,Libraries,亲爱的专家们: 我经常面临软件无法编译或工作的问题,因为库是特别的,所以文件太新了。 如果我试图安装旧的库apt-get-on-Ubuntu,我会发现由于冲突而无法安装的错误 因此,我想到了以下问题: 1如何将旧库/软件包与新库/软件包一起安装,例如在Arch Linux或Ubuntu Linux上? 2如何避免冲突:旧库应仅与有问题的旧软件链接使用,和/或如果我明确指定了这一点? 3如果安装了特定的旧库版本,我如何与cmake、make或autotools进行检查,以防在不与新版本冲突的情况下

亲爱的专家们:

我经常面临软件无法编译或工作的问题,因为库是特别的,所以文件太新了。 如果我试图安装旧的库apt-get-on-Ubuntu,我会发现由于冲突而无法安装的错误

因此,我想到了以下问题: 1如何将旧库/软件包与新库/软件包一起安装,例如在Arch Linux或Ubuntu Linux上? 2如何避免冲突:旧库应仅与有问题的旧软件链接使用,和/或如果我明确指定了这一点? 3如果安装了特定的旧库版本,我如何与cmake、make或autotools进行检查,以防在不与新版本冲突的情况下自动获取、安装和使用该版本

感谢任何专家的帮助

Linux软件包管理器通常不允许安装同一软件包的多个版本。您必须亲自从源代码处手动安装旧版本,最好是安装到某些私人位置,如/usr/old versions。 您可以这样链接有问题的软件: -L/usr/old versions/lib-Wl,-rpath=/usr/old versions/lib 它会自动使用旧版本的库。 没有办法自动做到这一点。 请注意,您可能还需要针对旧版本的库头进行编译,而不仅仅是针对旧版本的库进行链接