使用gfortran编译错误

问题描述 投票:0回答:1

我正在尝试学习 fortran90/95,以学习向量和并行科学计算课程。 我正在使用 Windows Vista 32 位,并且我从here下载了适用于我的操作系统的 gfortran 编译器版本(无论如何,我相信是这样的)。

为了测试它是否正常工作,我编写了一个 hello world 程序,如下所示:

program testfortran
    write(*,*) 'Hello world!"
end program testfortran

几乎逐字来自 Fortran 教程。 当我尝试编译它时:

gfortran testfortran.f90

它给了我以下回复:

C:\Program files\gfortran\bin/1d.exe: cannot open output file a.exe: Permission denied
collect2.exe: error: 1d returned 1 exit status

作为一名工程师,我几乎所有的编程经验都是使用像 Matlab 这样的解释语言,而我对编译语言不是很熟悉。 我不知道我是否犯了一个非常愚蠢的错误或者什么。 任何帮助将不胜感激。

gfortran
1个回答
1
投票

a.exe: Permission denied
消息意味着您没有写入当前目录的权限。
testfortran.f90
在哪个目录?您可以在同一目录中创建一个文件(例如,
echo hello > hello.txt
)吗?你可以在不同的目录下尝试一下吗? (不过,这看起来确实很奇怪;如果您可以在该目录中创建
testfortran.f90
,那么您应该能够在同一目录中创建
a.exe
。)

或者该目录中已经有一个

a.exe
文件,而您无权覆盖它。 尝试一下

gfortran testfortran.f90 -o testfortran.exe

此外,您的错误消息指的是

1d.exe
。我希望它是
ld.exe
,链接器。并且您的示例程序的引号不匹配:
'Hello world!"
。最好复制并粘贴源代码和任何错误消息,而不是重新输入它们。

© www.soinside.com 2019 - 2024. All rights reserved.