我想知道是否可以在一个 Linux 发行版上编译应用程序并在另一个 Linux 发行版(相同的 CPU 架构)上使用它。如果不是,我会遇到什么问题?我想到的唯一问题与动态链接库有关:
- 缺少某些库或库版本,例如缺少 /usr/lib/qt5.so
- 编译器标志可能是这里的问题吗?
还有其他可能的困难吗?
答案1
是的,在大多数情况下您应该能够做到这一点。除了您提到的库问题之外,我可以预见的唯一问题是特定于发行版的文件位置,并且影响您的应用程序的情况确实应该很少见。
答案2
如果静态编译它,您可以轻松地在具有相同架构的每个发行版上运行已编译的应用程序。
如果您动态编译它,那么您会遇到诸如您提到的问题(缺少库)或更频繁地来自其他发行版的库版本不兼容。