Vishal Sharma Asked: 2019-12-11 23:59:12 +0800 CST2019-12-11 23:59:12 +0800 CST 2019-12-11 23:59:12 +0800 CST 跨不同主要和次要版本的库稳定性 772 我正在使用我在RHEL AB上的 C++ 代码构建一个共享库(主要版本是 A,次要版本是 B)。 在以下多少种情况下,当我将共享库从RHEL AB复制到: 我想知道这个共享库 RHEL AC,其中 C<B。 RHEL AC,其中 C>B。 RHEL DB,其中 D>A RHEL DB,其中 D<A。 如果可能,请让我参考相关文档以获取更多信息。 请注意,我的 C++ 代码没有任何依赖关系,即当我在 RHEL AB 上构建它时,我没有将它与任何外部库链接 rhel c++ 1 个回答 Voted Best Answer Stephen Kitt 2019-12-12T00:35:36+08:002019-12-12T00:35:36+08:00 相关文档是RHEL 应用程序兼容性指南。基本上,答案取决于您自己的共享库所依赖的库。 如果它依赖于兼容级别 2 库,那么场景 1 和 2 应该没问题。方案 2 保证可以工作,并且方案 1 将工作,除非您的库以某种方式最终依赖于次要版本 B 中引入的某些内容(如果它仅在其依赖项中使用记录的 API,则不应该这样做)。 如果它仅依赖于兼容级别 1 库,那么所有情况都是可能的,具体取决于具体情况:在第一个版本引入它们之后,两个主要版本保证与级别 1 库的兼容性,因此您会在三个主要版本中找到它们。
相关文档是RHEL 应用程序兼容性指南。基本上,答案取决于您自己的共享库所依赖的库。
如果它依赖于兼容级别 2 库,那么场景 1 和 2 应该没问题。方案 2 保证可以工作,并且方案 1 将工作,除非您的库以某种方式最终依赖于次要版本 B 中引入的某些内容(如果它仅在其依赖项中使用记录的 API,则不应该这样做)。
如果它仅依赖于兼容级别 1 库,那么所有情况都是可能的,具体取决于具体情况:在第一个版本引入它们之后,两个主要版本保证与级别 1 库的兼容性,因此您会在三个主要版本中找到它们。