2012-08-23 183 views
0

我想学习fortran90/95的向量和并行科学计算类。我正在使用Windows Vista 32位,并且我下载了(我认为是,无论如何)我的操作系统的gfortran编译器版本号为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和我解释语言对编译语言不太熟悉。我不知道我是否在做一个非常愚蠢的错误或什么。任何帮助将不胜感激。

+0

我的答案解决了您的问题吗? http://stackoverflow.com/faq#howtoask –

+0

是的,谢谢你,我已经过去了这些问题。我对迟到的回应表示歉意。 –

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

+0

对不起,我会尝试复制代码,而不是从现在开始重新输入。在回答你的问题时,gfortran目前位于目录 C:\ Program Files \ gfortran \ bin \ 并且我的印象是文件必须位于此目录中才能运行gfortran。但是我显然没有对该目录的直接写入权限,所以我只是将.f90文件保存在别的地方,并手动将其移动到目录中。 –

+0

@clioi:'bin'目录*仅用于二进制文件(可执行文件),它们是gfortran本身的一部分。你自己的工作文件应该位于你自己的主目录下。 –