【发布时间】:2018-08-12 15:01:12
【问题描述】:
假设在我的公司,我们有相同的应用程序用 C++ 编写,运行在 RHEL5、6 和 7 的机器上。
我想从一个单独的构建服务器(运行 RHEL7)构建,以获得在旧版本 RHEL 中运行的可执行文件。请问可以实现吗?
我希望如果我在 RHEL7 中构建,并且在 RHEL5 中具有相应版本的 gcc 和 glibc(以及其他库),则生成的可执行文件应该在 RHEL5 中运行。我的理解正确吗?还是有更多需要注意的地方?
【问题讨论】:
-
一般规则是:在您想要支持的最旧版本的 Linux 发行版上编译。其他任何事情都是痛苦的世界。另外,我个人会静态链接所有内容除了 glibc(由于各种可悲的原因根本不可能)。