尝试在Windows上使用MinGW gfortran执行数字数据通信



我正在尝试在Windows上使用MinGW gfortran执行datcom源代码。

我遵循尝试使用命令编译源代码的过程:

gfortran  datcom.f -o datcom.exe

,系统。F包含源代码。

但是在编译过程中我得到了很多错误。如果有帮助,我附上了编译过程中获得的一小部分错误的片段。我对gfortran还是个新手,所以如果我读错了或遗漏了什么,请务必理解。

下面给出了获得的一些编译错误,以及源文件的相关位:

错误1

Error: Rank mismatch in argument ‘mess’ at (1) (rank-1 and scalar)
datcom.f:9165:21:
9165 |      &               4HRE  ,1,ROUTID)

datcom.f9164-9165和相关变量声明:

SUBROUTINE EQSPCE(X,R,P,S,NP,XE,RE,PE,SE,NE,DSEDX)
!
!***  TRANSFORMS 4-DIMENSIONAL ARRAY SO THAT THE 3 INDEPENDENT ARRAYS
!     ARE EQUALLY SPACED
!
DIMENSION ROUTID(2)
DIMENSION CR(6),CP(6),CS(6)
DIMENSION X(1),R(1),P(1),S(1),XE(1),RE(1),PE(1),SE(1),            &
&          DSEDX(20)
DIMENSION VAR(4),LGH(4)
DATA ROUTID/4HEQSP,4HCE  /
CALL INTERX(1,X,VAR,LGH,R,RE(I),NP,NP,0,0,0,0,0,0,0,0,         &
&               4HRE  ,1,ROUTID)

interx程序接口:

SUBROUTINE INTERX (NIND,TABLE,VAR,LENGTH,DEP,ANS,LIND,LDEP,       &
&           LX1L,LX2L,LX3L,LX4L,LX1U,LX2U,LX3U,LX4U,MESS,NMSS,ROUT)
DIMENSION MSSCL(21),RMSCL(21)
DIMENSION LENGTH(4),TABLE(LIND,4),DEP(LDEP),VAR(4),ROUT(2),       &
&          MESS(20)
EQUIVALENCE(MSSCL(1),RMSCL(1))
DATA MSSCL  /4HINTE,4HRX  ,19*0/
DATA SRPMSS /4H1TIN/,HOL1/4H1EXP/

错误2

Error: Type mismatch in argument ‘x2’ at (1); passed LOGICAL(4) to REAL(4)
datcom.f:1245:72:
1245 |      & DATA(5),DATA(6),DATA(7),DATA(8),DATA(9),P,Q,R,S,T,NN,NM)

误差3

Error: Actual argument contains too few elements for dummy argument ‘kol’ (1/80) at (1)
datcom.f:40352:36:
40352 |       IF(LDM(I) .GT. 0) CALL RVALUE(KOL,L,NDML,NF,BLANK,                &
|                                    1

我也有同样的问题,直到我在pda网站上找到解决方案。你必须使用命令。

gfortran  -std=legacy datcom.f -o datcom.exe

编译时应该没有错误,只有警告。

这是信息

相关内容

  • 没有找到相关文章

最新更新