项目使用Gfortran编译时出现Rank mismatch错误的解决方法

现象描述

Rank mismatch错误,如图1所示。

图1 Rank mismatch错误

可能原因

编译报错位置的函数需要传递数组参数,高版本编译器不允许传递标量参数,因此文件中提示编译错误。

处理步骤

根据编译器版本在编译选项中增加“-fallow-argument-mismatch”或“-Wno-argument-mismatch”选项。

  • Gfortran 10.3.1版本对应的编译选项为-fallow-argument-mismatch。
  • Gfortran 9.3.0版本对应的编译选项为-Wno-argument-mismatch。