我正在使用 GFortran 和 CodeBlocks,但我遇到了关于模块和多个文件的问题。我不断收到此错误:
Fatal Error: Can't open module file 'mesh.mod' for reading at (1): No such file or directory
出于某种原因,GFortran 没有构建“mesh.mod”文件。当我将所有代码放在一个 .f90 文件中时,不会出现此问题。
Bellow 是发生此错误的代码示例。
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 的这个问题。
有谁知道如何解决这个问题?