【发布时间】: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