13.12

2014-11-07 1 views
1

내가13.12

program main 
    write (*,*) "hi" 
    stop 
    end 

윈도우 8에 나는 점점 오전 오류 코드 :: 블록에서 포트란 코드를 제공 실행하려고이

G:\Study\Programs\bairstow.o:bairstow.f undefined reference to `_gfortran_st_write' 
G:\Study\Programs\bairstow.o:bairstow.f undefined reference to `_gfortran_transfer_character_write' 
G:\Study\Programs\bairstow.o:bairstow.f undefined reference to `_gfortran_st_write_done' 
G:\Study\Programs\bairstow.o:bairstow.f undefined reference to `_gfortran_stop_string' 
G:\Study\Programs\bairstow.o:bairstow.f undefined reference to `_gfortran_set_args' 
G:\Study\Programs\bairstow.o:bairstow.f undefined reference to `_gfortran_set_options' 
=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 1 second(s)) === 
입니다 codeblocks에서 .F (FORTRAN 파일)을 컴파일 할 수 없습니다

나는 컴파일러 자체의 폴더에 .F 파일을 붙여 넣기 및 출력 .EXE 파일이 성공적으로 GENER입니다

gfortran.exe hello.f 

명령을 실행 복사 ated 및 처형. C : B에서 컴파일러를 올바르게 설정했는지 확신 할 수 없습니다. 내가 누락 될 수있는 것은 무엇입니까?

업데이트 : janneb에서 제안한대로 libgfortran-3.dll을 사용하도록 링커 라이브러리 경로를 추가했습니다. 파일은 다음과 같은 빌드 로그 성공적으로 컴파일됩니다 :

mingw32-g++.exe -c G:\Study\Programs\bairstow.f -o G:\Study\Programs\bairstow.o 
mingw32-g++.exe -o G:\Study\Programs\bairstow.exe G:\Study\Programs\bairstow.o "C:\Program Files (x86)\CodeBlocks\MinGW\bin\libgfortran-3.dll" 
Process terminated with status 0 (0 minute(s), 1 second(s)) 
0 error(s), 0 warning(s) (0 minute(s), 1 second(s)) 

내가 파일을 실행하면, 약 2 분 동안 기다린 후, 나는 다음과 같은 오류 얻을 : enter image description here 내가 라이브러리를 링크에 어떤 실수를 가지고를 파일?

힌트 : 내 GNU C 컴파일러도 엉망입니다. 이제 libgfortran-3.dll을 연결 해제 한 후에도 간단한 helloWorld.c 프로그램을 실행할 수 없습니다.

답변

1

C : B를 통해 컴파일 할 때 GFortran 런타임 라이브러리 (libgfortran)를 연결하지 않는다는 오류 메시지를 기반으로합니다. gfortran.exe 드라이버 프로그램이이를 자동으로 처리하므로 gcc.exe로 컴파일 할 가능성이 높습니다. gcc.exe는 파일 확장자에 따라 Fortran 컴파일러 (f951)를 호출 할 수 있지만 gfortran.exe에서 수행하는 연결 작업은 수행하지 않습니다 .

어쨌든, 나는 Windows에서 C : B도 gfortran도 사용한 적이 없지만, 위의 설명은 어디서부터 시작해야할지 힌트를줍니다.

+0

클릭 내가 질문에 추가 한 업데이트에서? – Gaurav

+1

실제로, 나는 수동으로 라이브러리를 추가하는 것이 아니라 Fortran 메인 프로그램을 컴파일 할 때 g ++ .exe 대신 gfortran.exe를 사용하도록 C :: B를 구성하는 것이 좋습니다. gfortran.exe는 주 프로그램을 컴파일 할 때 라이브러리를 연결하는 것 외에도 여러 가지 작업을 수행합니다. – janneb

1

열기 C : B의 ​​IDE 및 "설정"으로 이동하여 "기본값으로 설정"선택한 컴파일러 및 CLIK 버튼에서 "GNU 포트란 컴파일러"를 선택하고 마지막으로 당신이 봐 주 시겠어요 "확인"