2013-06-08 3 views
0

폴더에 여러 모듈을 넣고 다른 모듈을 다른 모듈에 저장하려고합니다. 시도는 a.out 파일을 생성 할 때 나는외부 디렉토리의 모듈에 연결

ifort test.f90 -I~/Fortran/modulos/ 

test.f90 이전 modulos 폴더에 컴파일 된 GRN 모듈을 사용하여 콘솔에 작성합니다. 이것은 실행되지 않습니다. 다음을 얻었습니다.

test.f90 (5) : 오류 # 7002 : 컴파일 된 모듈 파일을 여는 동안 오류가 발생했습니다. INCLUDE 경로를 확인하십시오. [GRN]

내가 뭘 잘못하고 있니?. 우분투에서 인텔 포트란을 사용 :(

OK, 나는 몇 가지 세부 사항을 추가합니다 내 모듈은 다음과 같이이다.

module grn 
    contains 
    !gaussian random number generator 
    subroutine gaussian_rng (rannumb) 
    implicit none 
    double precision , intent (out) ::rannumb 
    blah blah.... 
    end subroutine gaussian_rng 
    end module grn 

이 내 폴더 'modulos'에 컴파일 ifort -c gaussgen 명령으로 해당 .MOD 및 .o 인 파일이 생성되어 그 후 .f90, 다음 내 폴더 '프로그램'에 내가 test.f90

Program testOrdeningAndStatistics 
    use grn 
    Implicit None 
    Real (Kind(0.d0)):: x 
    blah blah ... 
    call gaussian_rng(x) 
    blah blah ... 
    end Program testOrdeningAndStatistics 

라는 하나가 내가 그와 실행 파일을 생성합니다. 아이디어 간단하다, 나는 프로그램과 모듈을 별도의 폴드에 저장하고 싶다. ers.

+0

항상 태그 [tag : fortran]을 사용하고 질문이 구체적이라는 것을 구별하기 위해 필요한 경우에만 버전을 추가하십시오. 예를 들어, Fortran 2008은 사용할 수없고 Fortran 90 만 사용할 수 있습니다. –

답변

0

아마도 모듈과 관련된 객체 파일 .o를 링크해야 할 것입니다. 소스 코드와 컴파일 프로그램의 간단한 예제를 게시 할 수 있다면 잘못하고있는 것을 더 쉽게 이해할 수 있습니다.

1

~ 문자는 홈 폴더로 처리되지 않습니다. 단어의 시작 부분에 있으면 쉘이이를 대체하기 만하기 때문입니다. 그래서, 중, 옵션과 경로 사이에 공백 삽입 :

ifort test.f90 -I ~/Fortran/modulos/ 

또는 전체 경로의 총수 : ifort 12.1.0와 나를 위해

ifort test.f90 -I/home/yourusername/Fortran/modulos/ 

두 작품.

관련 문제