【问题标题】:gfortran compiler on windows powershell not creating executablewindows powershell上的gfortran编译器没有创建可执行文件
【发布时间】:2018-03-23 14:41:29
【问题描述】:

标题说明了一切,我运行 gfortran 编译了一个简单的测试 fortran 程序,它编译没有错误;但是当我运行 ls 查看输出时,没有创建可执行文件。我也尝试过设置 -o 选项。

fotran 程序是一个简单的 hello world

program test1
implicit none
print *, "Hello World!"
end program test1

(我使用的 gfortran 来自 mingw 版本;我在 powershell 中将 gfortran 别名为 c:/mingw/bin/gfortran.exe,但如果我显式调用它也会出现同样的问题)

以前有人遇到过这个问题吗?我认为这可能是权限问题,但我可以从 powershell 创建文件就好了(除非 gfortran 出于某种原因需要额外的权限?)。非常感谢任何帮助,谢谢:)

【问题讨论】:

  • 您指定它不能在 PowerShell 中运行,但您是否尝试过从命令提示符中运行?这应该有助于缩小外壳是否是问题的范围。
  • 你找过 a.exe 吗?
  • 这很奇怪。我安装了 TDM-GCC-32 软件包中的 gfortran 5.1.0,并尝试在本地复制您的问题。运行gfortran .\test1.f95,我在cmd.exe 和PowerShell 下编译的本地目录中得到a.exe。如果您遇到权限问题,我希望有人抱怨无法写 a.exe。我怀疑环境变量有问题,但这只是猜测。尝试在磁盘上搜索a.exe - 你能在任何地方找到该文件吗?
  • 我使用的是 6.3.0。看起来 gcc、g++ 和 gfortran 都表现出相同的问题:从 cmd 提示符而不是从 powershell 创建 a.exe。使用进程监视器(Windows 相当于 strace)查看。它没有启动 ld.exe,这就解释了为什么它不创建 a.exe。
  • 如果检查$env:path,是mingw bin目录吗?

标签: windows powershell fortran


【解决方案1】:

我只是碰巧遇到了你描述的同样的问题,但两年后......

我发现我只需将程序称为 ./test.exe 而不是 test.exe,就像我在 MS-DOS 中所做的那样。这样,如果我在不同的文件夹中工作,我就不必更改路径。

【讨论】:

    【解决方案2】:

    事实证明,简单地将编译器路径别名化在 MinGW 的 powershell 中不起作用,将 mingw bin 目录添加到路径是必要的,并解决了我在 cmets 中建议的@cup 的问题。谢谢大家:)

    【讨论】:

      猜你喜欢
      • 2012-12-03
      • 1970-01-01
      • 2021-06-16
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      相关资源
      最近更新 更多