如何在Linux上编译适用于任何发行版的C?

时间:2014-03-25 17:57:46

标签: c linux gcc

如果我用gcc编译一个自包含的项目并静态链接C运行时库,那么这适用于任何Linux发行版吗?只要它有效,我不关心任何静态链接缺点(例如大文件大小)。这是一个封闭源项目,这是我无法控制的。 PC的架构是一样的。

1 个答案:

答案 0 :(得分:2)

如果你可以保证它所执行的所有代码都是自包含在你发布的二进制文件中,那么从理论上讲(理论上强调)它应该适用于任何Linux发行版。在这个过程中存在着大量的陷阱。我个人认为,由于不断更改版本的接口,因此几乎不可能完成这项工作。与其他图书馆的接口是一个脆弱的噩梦。

我熟悉的大多数公司(包括我自己)为不同的发行版制作了构建版本。由于必须为SLES,Redhat等构建构建而导致一些复杂化,但我确信提供一些不同的构建最终会比尝试静态链接所有内容更简单并且导致更少的问题。