2014-10-29 2 views
0

내가 gfortran을 사용하여 포트란 코드를 컴파일시에 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) 

내용의 오류를주고있다. BTW, 트리거 ifort 및 라인 아무 문제가

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

누군가가이 문제를 해결하기 위해 어떤 포인터가있는 경우 그것은, 좋은 것입니다 없었다.

+1

왜 당신은 당신이 오류 메시지의 컴파일러에 대해 불평 문제가있는 줄의 전체 텍스트를 인용 한 경우에 도움이 될 ??? – Cheery

+1

'\ "을'탈출 않았다. 정말/cp2k'? –

+4

2.6이 있는가'시작 하는가 당신은 Fortran과 쉘 스크립트를 섞으려고합니까? 실패 할 것입니다! –

답변

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') 

항상 파일에 올바른 작업을 수행 할 수 있도록 열기 명령에 작업과 위치를 추가합니다.