假设我们有 2 个具有相同 SONAME 和接口的库(A 和 B)。开发人员在编译时链接到 A,但用户在运行前设置了 $LD_LIBRARY_PATH。一切都很正常,但用户不知道他们使用了与开发人员想要的不同的库。
我是编译的学习者,不确定这只是一种技巧,是否应该避免。我知道向编译器提供“-Wl,--rpath”会优先考虑运行时链接路径,但不确定软件开发中最“标准”的策略是什么。
假设我们有 2 个具有相同 SONAME 和接口的库(A 和 B)。开发人员在编译时链接到 A,但用户在运行前设置了 $LD_LIBRARY_PATH。一切都很正常,但用户不知道他们使用了与开发人员想要的不同的库。
我是编译的学习者,不确定这只是一种技巧,是否应该避免。我知道向编译器提供“-Wl,--rpath”会优先考虑运行时链接路径,但不确定软件开发中最“标准”的策略是什么。