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

VSCode使用MinGW编译C++报undefined reference to WinMain错误求解

报错原因说明

undefined reference to WinMain 是MinGW链接器抛出的错误:Windows平台下控制台程序的默认入口是你代码里写的main()函数,GUI程序的默认入口是WinMain(),现在链接器找不到WinMain,说明要么它识别错了程序类型默认按GUI程序编译,要么它找不到你写了main()函数的源文件。
之前遇到的cc1plus is not detected报错是MinGW未正确加入系统环境变量导致的,调整完环境变量后需要重启所有终端和VSCode才会生效,避免残留旧的环境变量配置。

排查解决步骤
  • 确认源文件格式正确
    打开路径C:\Users\angel\OneDrive\Documents\Visual Studio Code\PRogramming WorkSpace\C++,先开启Windows资源管理器的「文件扩展名」显示,确认你的代码文件后缀是.cpp,不是.c或者test.cpp.txt这类被隐藏了真实后缀的文件。
  • 手动验证编译逻辑
    在上述目录的地址栏直接输入powershell回车打开终端,手动执行命令:
    g++ test.cpp -o test.exe -mconsole
    加-mconsole参数是强制指定编译为控制台程序,用main()作为入口。如果执行后没有报错,再运行.\test.exe就能看到Hello World输出,说明问题出在VSCode的默认运行配置上。
  • 修复VSCode运行配置
    安装C/C官方扩展后,按Ctrl+Shift+P调出命令面板,选择「C/C: 编辑配置(UI)」,找到「编译器参数」配置项,添加-mconsole参数即可。后续直接用VSCode运行就不会再报该错误。
  • 兜底排查方案
    如果上述操作后还是报错,打开MinGW安装管理器,确认已经完整安装gcc-g++、mingw32-base、mingw32-libgcc等基础开发组件,补装缺失组件后重启电脑重新配置环境变量即可。

内容的提问来源于stack exchange,提问作者Jamil Harun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:57:02