在linux上编译fortran程序并将可执行文件移动到另一台Linux机器上

时间:2013-04-29 14:14:08

标签: linux fortran portability

我有一个代码,我在博士期间用Fortran编写,现在我正在和一些使用Linux的研究人员合作,他们需要我的模型,基本上是一个可执行文件。将来我可能会把它变成开源的,但是要知道他们只是想要可执行文件,也因为他们不是程序员而且他们从来没有在他们的生活中编译过程序。所以问题是:是否有可能在我的linux机器上编译它然后发送给它们以便在另一台Linux机器上使用它?或者linux版本和发行版是否重要? 非常感谢你 甲

1 个答案:

答案 0 :(得分:1)

如果您不使用许多库,则可以执行此操作。一个选项是静态链接可执行文件(-static或类似的编译器选项)。您需要拥有所有所需库的静态版本。后缀为.a。它们通常不会默认安装在Linux发行版中,并且通常根本不会在存储库中提供它们。

在我的发行版(OpenSuSE)中,它们位于glibc-devel-staticlapack-devel-static等类似的包中。

另一种选择是在用户将拥有的兼容发行版上编译可执行文件(GLIBC版本很重要),并提供他们在您的可执行文件中需要的所有.so动态链接库。

所有这一切都假设您使用相同的平台,例如i586amd64arm,例如wallyk评论。我大多假设你在PC上。您可以强制大多数编译器通过-m32-m64选项生成32位或64位可执行文件。您需要正确版本的开发库。