Linux 为什么链接到冗余动态库

Linux 为什么链接到冗余动态库,linux,Linux,在linux(kylin)中,我创建了一个进程(pro),它链接到一些.so。在一些机器上,它工作得很好。但它不能在一台机器上运行。我使用ldd检查流程, ldd专业版 它链接到许多冗余的。所以。其他程序员编写的代码也是多余的 我设置了系统变量LD_LIBRARY_PATH,确保它只包含包含所需的路径。然后编译无法通过。(我也在其他机器上尝试过,它可以编译。) 我真的不明白为什么我的代码和其他程序员的代码混在一起 我是第一次问这个问题,谢谢大家。今天,我解决了这个问题 首先,我编写了一个“hel

在linux(kylin)中,我创建了一个进程(pro),它链接到一些.so。在一些机器上,它工作得很好。但它不能在一台机器上运行。我使用ldd检查流程, ldd专业版 它链接到许多冗余的。所以。其他程序员编写的代码也是多余的

我设置了系统变量LD_LIBRARY_PATH,确保它只包含包含所需的路径。然后编译无法通过。(我也在其他机器上尝试过,它可以编译。)

我真的不明白为什么我的代码和其他程序员的代码混在一起


我是第一次问这个问题,谢谢大家。今天,我解决了这个问题

首先,我编写了一个“helloworld”程序,它仍然链接到其他动态库。例如“xxx.so未找到,它是/usr/lib64/crti.o所需要的”

然后,我检查文件'crti.o',它确实被其他程序员修改过。它链接了许多动态库

在我用其他机器替换这个文件后,一切都正常。

你说的“其他程序员的代码”是什么意思?你使用的库,都是你自己写的吗?图书馆所依赖的图书馆如何?等等您是否自己编写Linux内核和用户空间?在任何给定时刻,您运行的由您编写的代码量只是系统上运行的所有代码的一小部分。“其他编程人员的代码”意味着它们不是系统代码。我的流程所涉及的一些动态库是由我编写的,一些是开放的动态库。