You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CABSDock编译遇Fortran 2018已删除特性警告,请求技术支持

解决CABSDock编译警告的方案

警告原因

这个警告是因为新版gfortran遵循Fortran 2018标准,该标准删除了用带标签的非END DO/CONTINUE语句终止DO循环的特性。你的CABSDock源码基于旧版Fortran标准编写,所以用新版gfortran编译时会触发这个警告。

可行解决方法

1. 调整编译参数兼容旧标准(最快)

不用修改源码,直接在编译命令里添加-std=legacy参数,强制gfortran采用旧Fortran标准编译,即可屏蔽该警告:

gfortran -O2 -std=legacy -o CABSdock [你的源码文件列表]

如果源码符合Fortran 95标准,也可以用-std=f95替代-std=legacy,效果一致。

2. 修改源码(彻底解决)

找到警告提示的第1879行附近的DO循环,将带标签的终止语句改成END DO或CONTINUE:

  • 原代码大概是这种写法:
    DO 7000 i = 1, num
        ! 循环内代码
    

7000 PRINT *, i

- 改成`END DO`形式(推荐):
```fortran
DO i = 1, num
    ! 循环内代码
    PRINT *, i
END DO
  • 或者保留标签用CONTINUE:
    DO 7000 i = 1, num
        ! 循环内代码
        PRINT *, i
    

7000 CONTINUE

### 3. 单独屏蔽该警告(临时方案)
如果不想修改编译标准也不想改源码,直接添加`-Wno-deleted-features`参数屏蔽已删除特性的警告:
```bash
gfortran -O2 -Wno-deleted-features -o CABSdock [你的源码文件列表]

内容的提问来源于stack exchange,提问作者Farha Anwer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:30:17