gfortran 在 Visual Studio Code 中链接和编译子程序

问题描述

我想使用 Visual Studio 代码编译和运行 fortran 子程序。

当我尝试调试代码时,我收到一条错误消息,指出“预启动任务‘gfortran’以退出代码 1 终止”,并显示以下控制台消息:

c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
The terminal process "C:\MinGW\bin\gfortran.exe '-g','D:\......\params.f95','-o','D:\.......\params.exe'" terminated with exit code: 1.

当我点击“显示错误”时,它说“到目前为止在工作空间中没有检测到任何问题”

我对该文件夹的json文件配置如下: 启动.json

    {
        "version": "2.0.0","configurations": [
            {
                "name": "Fortran Launch (GDB)","type": "cppdbg","request": "launch","targetArchitecture": "x86","program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe","miDebuggerPath": "gdb.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceRoot}","externalConsole": true,"preLaunchTask": "gfortran"
            }
        ]
       }

tasks.json

{
    "version": "2.0.0","command": "gfortran","args": [
        "-g","${file}","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"
    ]
   }

我尝试了许多从网上找到的修复程序,例如更改默认设置以在运行前保存文件、重新安装 gfortran 等,但都无济于事。当我尝试从命令提示符编译时,我没有任何错误,但是当我使用标志 -g 时,我遇到了关于“对 WinMain@16 的未定义引用”的相同错误。另外,我使用这些设置来运行单个 Fortran 代码(没有子程序)也没有问题。

我有一个 Windows-32 架构,并且我已经使用 MinGW 来安装 gfortran。我已将系统环境变量“路径”设置为包含此文件夹。

我希望问题很清楚,请帮我解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)