2012-08-23 180 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本身的一部分。你自己的工作文件應該位於你自己的主目錄下。 –