独立的C应用程序

时间:2018-08-03 11:26:40

标签: c gtk gnuplot

我有一个完全用C编码的项目,它依赖于gnuplot,gtk,GNU科学库等。在我的机器上可以正常工作。

但是,如何将其打包为独立的可执行文件,该独立的可执行文件与平台和操作系统无关?

即使它适用于任何Linux平台,也可以。

2 个答案:

答案 0 :(得分:0)

  

但是,我如何将其打包为一个独立的可执行文件,该文件是platfrom且与操作系统无关?

不能。至少标准C库必须在许多地方使用特定于OS的API(系统调用,库函数)。

  

即使它适用于任何Linux平台,也可以。

Linux是一个不断发展的目标,但是仍然可以通过静态链接所有库来实现-请参阅编译器的文档以了解如何实现。

答案 1 :(得分:0)

如果不重新编译,就无法在不同的操作系统上运行C程序。

话虽如此,如果您想在Linux之类的单一平台上编译程序,通常可以使用静态编译作为解决方案,但这不是GTK +处理的用例,因此您可以构建其他依赖项静态地,但是GTK +及其依赖项需要动态构建并单独运输。

通常,建议您使用RPM / DEB软件包将应用程序打包为所选的GNU / Linux发行版,但这仅适用于该发行版。

因此,我看到的最佳选择是使用flatpak捆绑您的依赖项,并在要安装应用程序的位置安装flatpak。