2014-10-29 63 views
0

我使用gfortran編譯Fortran代碼語法錯誤在OPEN語句,它給我的錯誤,說明gfortran - 錯誤:在(1)

2.6/cp2k/tools/build_libsmm/run_tiny_dnn/output_linux.gnu/"//trim(filename) 
                     1 
Error: Syntax error in OPEN statement at (1) 

我不知道什麼可能觸發此。順便說一句,有一個與ifort和線路沒有問題引發的

open(unit=unit,file=\"`pwd -P`/$(OUTDIR)/\"//trim(filename)) 

這將是巨大的,如果有人有任何指針來解決這個問題。

+1

你爲什麼要逃避'\「'??? – Cheery 2014-10-29 22:26:34

+1

如果你引用了錯誤信息的全部文本和編譯器抱怨的有問題的行,它會有所幫助,它真的開始'2.6/cp2k'嗎? – 2014-10-30 07:29:16

+4

你試圖將shell腳本與Fortran混合?這肯定會失敗! – 2014-10-30 08:32:48

回答

0

fortran中的open()語句需要文件的相對路徑,以從編譯後的fortran程序將採用的位置打開。所以你的代碼應該與你的輸出文件的相對路徑dir類似。

! parameter declaration 
integer,intent(in)::unit 
char(len=512),intent(in)::dir,filename 
char(len=512)::relPath 
! ----------------------------------------------------------------------- 
relPath=trim(dir)//'/'//trim(filename) 
open(unit=unit,file=trim(relPath),action='readwrite',possition='append') 

我總是動作和位置添加到打開的命令,以確保您與您的文件做正確的事。