サブルーチンが gfortran でコンパイルされ、メイン プログラムが ifort でコンパイルされている fortran で記述されたプログラムを実行しようとしています。
ソースコードは次のとおりです。
サブルーチン:
subroutine testsub
implicit none
integer icarte
read(10,*) icarte
write(*,*)icarte
return
end`
メインコード:
program test
implicit none
integer i
open (unit=10, file="file_test")
do i=1,6
read(10,*)
enddo
call testsub
close(10)
end
読み込まれたファイルは次のとおりです。
1
2
3
4
5
6
7 5 6 8
23
そして、私はそのようにコンパイルします:
gfortran -c testsub.f
ar rcs libtest.a testsub.o
ifort -o testexe test.f -L./ -ltest -L/.../gcc/4.7.1/lib64 -lgfortran
そして私は得ました:
At line 4 of file testsub.f (unit = 10, file = 'fort.10')
Fortran runtime error: End of file
サブルーチンに論理ユニットが与えられていないようです。コンパイル オプションをどこかに追加する必要があります...しかし、どこで何をするのかよくわかりません...そして、「両方のファイルを同じコンパイラでコンパイルするとどうなりますか?」という質問に答えるために。: プログラムは完全に実行されます :)
だから誰かがどんなアイデアでも...