I am excited for the recent/native support of 'MinGW64 Compiler (FORTRAN)'. I successfully compiled the (fixed format) example, timestwo.F.
However, when I try to compile my (free format) program (which previously compile fine with the Intel compiler), I get the following error:
f951.exe: Warning: Nonexistent include directory 'C:\Program
Files\MATLAB\R2024a/simulink/include' [-Wmissing-include-dirs]
\MATLAB\toolbox\Fallterp111.f90:1:2:
Warning: Illegal preprocessor directive
That is despite this being the identical first line of timestwo.F. I suspected that the /fixed flag might still be an issue, but I do not see it in \bin\win64\mexopts\mingw64_gfortran.xml, so I cannot delete it.
Any idea what is happening?
Here is the complete fortran program that gets the above error (note: I removed a couple calls to other subroutines to shorten this):
subroutine mexFunction(nlhs, plhs, nrhs, prhs)
mwPointer plhs(*), prhs(*)
mwpointer mxGetPr, mxCreateNumericArray, mxGetDimensions
double precision mxGetScalar
integer*4 mxClassIDFromClassName
! Pointers to input/output mxArrays
double precision, allocatable, dimension(:) :: x1,x1i
double precision, allocatable, dimension(:) :: pf1
double precision, allocatable, dimension(:) :: o1
call mxCopyPtrToReal8(x1_pr,x1,nx1)
x1i_pr = mxGetPr(prhs(2))
call mxCopyPtrToReal8(x1i_pr,x1i,e1)
pf1_pr = mxGetPr(prhs(3))
call mxCopyPtrToReal8(pf1_pr,pf1,nodes)
!Create array for return argument
myclassid = mxClassIDFromClassName('double')
plhs(1) = mxCreateNumericArray(1,e1,myclassid,0)
end subroutine mexFunction