GFortran と CodeBlocks を使用していますが、モジュールと複数のファイルについて問題があります。私はこのエラーを受け取り続けます:
Fatal Error: Can't open module file 'mesh.mod' for reading at (1): No such file or directory
何らかの理由で、GFortran は「mesh.mod」ファイルを構築していません。すべてのコードを 1 つの .f90 ファイルに入れると、この問題は発生しません。
以下は、このエラーが発生するコードの例です。
main.f90
MODULE MESH
IMPLICIT NONE
INTEGER :: IMAX,JMAX,NMAX
REAL(8), ALLOCATABLE :: XD(:),YD(:),FX(:,:),FY(:,:)
REAL(8) :: PI,E,DX,DY,H,L,RHO,MU
PARAMETER (PI = ACOS(-1.D0))
PARAMETER (E = 2.718)
END MODULE MESH
!**************************************************************
program Cavity
Use Mesh
implicit none
Real(8), Allocatable :: func(:)
Real(8) :: Der,DfDx
integer :: i
IMAX=10
DX=1./10
Allocate(xd(IMAX),func(IMAX))
Do i=1,IMAX
xd(i)=i*DX
End Do
Do i=1,IMAX
func(i) = xd(i)**2
End Do
Der=Dfdx(func,2)
Write(*,*) Der
End program Cavity
デリバティブ.f90
Real(8) Function DfDx(f,i)
Use Mesh
implicit none
Real(8) :: f(1:Imax)
integer :: i
DfDx=(f(i+1)-f(i-1))/(2d0*dx)
return
end function DfDx
CodeBlocks インターフェイスの代わりにコンソール コマンド ライン コンパイルを使用すると、この問題は既に解決されています (モジュールを使用して複数のファイルをコンパイルする) が、CodeBlocks ではまだこの問題が発生しています。
この問題を解決する方法を知っている人はいますか?