2014-10-29 61 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') 

我总是动作和位置添加到打开的命令,以确保您与您的文件做正确的事。