错误:PyOpt 中 (1) 处的实际参数与 (2) 处的实际参数(标量和rank-1)之间的排名不匹配

问题描述 投票:0回答:1

我正在尝试安装 pyOpt,但遇到了 Mingw64 gfortran 编译器抛出错误的错误。看起来变量“g”保存在包含文件的公共块中,而“dum”则在本地声明。可以采取什么措施来克服这些错误?

Warning: 'rhoc' may be used uninitialized in this function [-Wmaybe-uninitialized]
pyOpt\pyALGENCAN\source\evalal.f:408:35:

  408 |               call sevalgjacp(n,xp,gp,m,dpdcp,nalp,'T',gotj,inform)
      |                                   1
......
  802 |           call sevalgjacp(n,x,dum,m,ap,ptmp,'j',gotj,inform)
      |                              2
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
pyOpt\pyALGENCAN\source\evalal.f:112:34:

  112 |               call sevalgjacp(n,x,g,m,p,nl,'T',gotj,inform)
      |                                  1
......
  802 |           call sevalgjacp(n,x,dum,m,ap,ptmp,'j',gotj,inform)
      |                              2
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
gfortran.exe:f77: pyOpt\pyALGENCAN\source\fparam.f
pyOpt\pyALGENCAN\source\extrap.f:183:10:
python gfortran mingw-w64
1个回答
0
投票

您可能只需将以下标志添加到编译器文件或 makefile 中即可设置所有内容。

-休耕参数不匹配

我的文件看起来像这样..我的线路称为 COMOTT1

开始文件

###COMPILE=f77
###COMPILE=pgf90 
COMPILE=gfortran


 COMLIB1=

#COMOTT1=-dalign -O3 -r8
###COMOTT1=-dalign -fast -r8
#COMOTT1=-Ofast -mips4 -IPA -r8
# COMOTT1=  -fast -O3 -r8
 COMOTT1=  -Ofast -fdefault-real-8 -fallow-argument-mismatch
### COMOTT1=  -fast  

# COMCONV= -byteswapio 
 COMCONV= -fconvert=swap

FILES= \
       cpl_bcinterp.o \
       cpl_land.o \
       cpl_main_interface.o \
       cpl_sea.o \
       cpl_sea_model.o \
       dyn_geop.o \
       dyn_grtend.o \
       dyn_implic.o \
       dyn_sptend.o \
       dyn_step.o \
       dyn_stloop.o \

文件结束

希望这对你有用

© www.soinside.com 2019 - 2024. All rights reserved.