前提・実現したいこと
fortran初心者のものです。現在はfortranでインターフェイスモジュールを使ったプログラムを作成しようとしています。主プログラム、外部サブルーチン、インターフェイスモジュール、の三つのファイルを作り、インターフェイスモジュールを含むファイルをコンパイルしようとすると’main’に対する定義されていない参照です。と出てしまい困っています。
発生している問題・エラーメッセージ
’main’に対する定義されていない参照です。
該当のソースコード
インターフェイスモジュール
module interface_mod
interface
subroutine allocate_rmat(a)
real(8), allocatable, intent(out) :: a(:,:)
end subroutine allocate_rmat
end interface
end module interface_mod
主プログラム
program list4_1
use interface_mod
implicit none
integer i,j,n
real(8), allocatable :: a(:,:)
call allocate_rmat(a)
do i = 1,n
write(,)(a(i,j),j = 1,n)
end do
end program list4_1
外部サブルーチン
subroutine allocate_rmat(a)
implicit none
real(8),allocatable,intent(out) :: a(:,:)
integer n
write(,'(a)',advance = 'no' ) ' input n : '
read(,*) n
if (n < 1 .or. n > 100) stop 'n must be 0 < n <101'
allocate (a(n,n))
call random_number(a)
end subroutine allocate_rmat
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー