json - 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 文件配置如下: Launch.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"
}
]
}
任务.json
{
"version": "2.0.0",
"command": "gfortran",
"args": [
"-g",
"${file}",
"-o",
"${workspaceRoot}\\${fileBasenameNoExtension}.exe"
]
}
我尝试了许多从网上找到的修复程序,例如更改默认设置以在运行前保存文件、重新安装 gfortran 等,但无济于事。当我尝试从命令提示符编译时,我没有任何错误,但是当我使用标志 -g 时,我有关于“未定义对 WinMain@16的引用”的相同错误。此外,使用设置运行单个 fortran 代码(没有子程序)也没有问题。
我有一个 Windows-32 架构,我使用 MinGW 安装 gfortran。我已将系统环境变量“路径”设置为包含此文件夹。
我希望问题很清楚,请帮助我。
解决方案
推荐阅读
- pandas - 无法从 csv 文件/数据类型问题中使用 matplotlib 创建图形
- salesforce - 我们可以在邮递员中获取 Salesforce 中的“分配给”和“分配者”数据吗?
- python - Kivy:更改 Spinner 下拉列表的高度
- eclipse - 在 vscode 中部署程序集和 java 构建路径设置
- c++ - std::map 是否从其 const 引用创建对象的新非 const 副本
- javascript - 在功能组件中创建变量的好习惯是什么?
- flutter - Flutter 2.0 - 按下时如何更改 TextButton 的初始颜色?
- json - JSON_VALID,JSON_SET,JSON_EXTRACT 函数在 mariadb 中不起作用,即使 json 是有效的 CHAR_LENGTH 是 66508 但 JSON_VALUE 函数正在工作
- elasticsearch - Logstash 无法将数据流式传输到 ES - Elasticsearch 似乎无法访问或关闭
- javascript - 使用 React Bootstrap 选项卡反应嵌套路由