用gfortran编译错误

时间:2012-08-23 04:30:50

标签: compiler-construction gfortran

我正在尝试学习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这样的解释语言,而且我对编译语言并不熟悉。我不知道我是在做一个非常愚蠢的错误还是什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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!"。最好复制并粘贴源代码和任何错误消息,而不是重新输入它们。