【问题标题】:Compile the Fortran program in Windows using gfortran在 Windows 中使用 gfortran 编译 Fortran 程序
【发布时间】:2021-04-15 01:08:40
【问题描述】:

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

gfortran -o program  program.f

现在我想在Windows 10中执行同样的Fortran程序,可以在window系统中执行吗?如果是这样,请建议我一种方法。

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

【问题讨论】:

  • 如果你的命令失败了,你真的必须说到底发生了什么。有任何错误信息吗?如果是,请给他们看。

标签: linux fortran window gfortran


【解决方案1】:

要为 Windows 编译 Fortran 代码,您需要一个用于 Windows 的 Fortran 编译器。 Microsoft 既不提供内置的,也不提供出售的。第三方编译器可用,包括gfortran,但您需要自己安装一个。如果您特别想使用gfortran,或者如果您喜欢它只是因为您不必花钱就可以得到它,那么我建议您将它作为mingw-w64 的一部分来获取。 multiple vendors 提供替代方案,其中一些是免费的,但大部分是出售的。

另请注意,Windows 期望可执行文件以 .exe 扩展名命名,因此您可能希望在编译命令上使用 gfortran 的变体:

gfortran -o program.exe  program.f

【讨论】:

  • 如何直接获取mingw-64的二进制文件安装到window中
  • 我已经链接到 mingw-w64 网站 @seist。那里有下载和文档。
  • 当我做同样的事情时,我收到错误 collect2.exe:error: id returned 1 exit status
  • c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../..未定义引用'engplt','pen',/...
  • 您能否为相同的@John Bollinger 提出解决方案
【解决方案2】:

如果你想在 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。更多信息here。在 Linux、macOS 和 Windows 上可用(当然,只有在 Windows 上才需要 Visual Studio)。英特尔 oneAPI 至少部分是open source,不确定 Fortran 编译器。

MSYS2 是一个小得多 的包(就所需的磁盘速度而言),并被其他几个免费项目使用:R (Rtools)、OctaveStrawberry Perl 都包括它的一部分,包括 gcc 编译器。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多