在Windows上使用gfortran编译Fortran程序

3

我有一个Fortran程序(.f),是在Ubuntu Linux上编写的。我使用以下命令在Linux中编译了这个Fortran程序,并成功地执行了它。

gfortran -o program  program.f

现在我想在Windows 10中执行相同的Fortran程序,它能在Windows系统中运行吗?如果可以,请建议一种方法。

我尝试在Windows命令窗口中运行gfortran -o program program.f,但它失败了。


1
如果您的命令失败了,那么您必须确切地说明发生了什么。是否有错误信息?如果有,请展示出来。 - Vladimir F Героям слава
3个回答

1
要在Windows上编译Fortran代码,您需要一个Windows的Fortran编译器。微软既没有提供内置编译器,也没有出售编译器。第三方编译器可用,包括gfortran,但您需要自行安装。如果您想特别使用gfortran,或者因为不想花钱而喜欢它,那么我建议您作为mingw-w64的一部分获取它。其他选择可以从多个供应商获得,其中一些是免费的,但大多数是出售的。
还要注意,Windows期望可执行文件的名称带有.exe扩展名,因此您需要在编译命令中使用gfortran的变体。
gfortran -o program.exe  program.f

我该如何直接获取Mingw-64的二进制文件以在Windows上安装? - user14447651
我已经链接到了mingw-w64网站,@seist。那里有下载和文档。 - John Bollinger
当我做同样的事情时,我遇到了错误collect2.exe:错误:id返回1退出状态。 - user14447651
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../.......undefined reference to 'engplt','pen',/...c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../.......对 'engplt','pen' 的引用未定义。 - user14447651
请问您能否为此提供一个解决方案,John Bollinger先生? - user14447651
1
@seist,那将是完全不同的问题。如果您找不到现有的答案,我建议您将其作为一个问题提出来。 - John Bollinger

1
如果您想在Windows上使用gfortran,我建议您安装MSYS2,它有一个bash终端和一个包管理器,可以安装gcc和gfortran,以及lapack和许多其他库。
还有一个独立的mingw-w64发行版,可以在不安装MSYS2的情况下安装,但我不建议这样做,因为其中最后的文件是gcc-8.1.0,来自2018年(除了Ray Linn最近构建的版本,包括Ada,但不包括Fortran编译器)。
另一个现在免费的编译器是Intel Fortran:您需要安装Microsoft Visual Studio Community,Intel oneAPI Base Toolkit和Intel oneAPI HPC Toolkit。更多信息在这里。可用于Linux、macOS和Windows(当然,在Windows上只需要Visual Studio)。Intel oneAPI至少部分开源,不确定Fortran编译器是否也是如此。
MSYS2是一个更小的软件包(在磁盘空间方面),由其他几个免费项目使用:R(Rtools)、OctaveStrawberry Perl都包含它的部分内容,包括gcc编译器。

0

截至2023年,在Windows 11 PC上已成功测试以下步骤。

  1. http://www.equation.com提供了32位和64位x86可执行文件,包括GNU Fortran、C和C++的GCC版本12.1。记下它安装gcc的位置。这在第3步中会很有用。

  2. 安装完成后,请重新启动您的PC。

  3. 将包含gcc和gfortran可执行文件的gcc/bin文件夹添加到环境变量设置中的PATH变量中。

  4. gfortran program.f -o program.exe


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接