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

Visual Studio 2019中WinMain程序LNK2019未解析外部符号_main错误求助

修复Visual Studio 2019中WinMain引发的LNK2019错误

问题场景

使用Visual Studio 2019空项目模板创建Windows桌面应用,仅包含以下代码:

//main.cpp
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
    int nShowCmd) {

    MessageBox(NULL, L"Goodman", L"Saul", 0);
    return 0;
}

构建时抛出LNK2019错误:

unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)

已尝试修改子系统但未解决。

解决步骤

1. 正确配置链接器子系统

  • 右键项目 → 属性 → 配置属性 → 链接器 → 系统
  • 在子系统下拉菜单中选择Windows (/SUBSYSTEM:WINDOWS)
  • 注意:需确保当前选中的配置(Debug/Release)和平台(x86/x64)与你正在构建的目标一致,避免只修改单个配置而未同步其他项。

2. 手动指定入口点(若子系统配置后仍报错)

  • 继续在链接器设置中切换到高级选项卡
  • 在入口点输入框中填写_WinMain@16(WinMain采用stdcall调用约定,编译器会生成该修饰名),或直接填写WinMain(Visual Studio通常能自动识别,但手动指定可避免识别异常)

3. 确认WinMain函数声明正确性

  • 确保函数声明为int WINAPI WinMain(...),WINAPI宏不可省略——它会将函数设置为stdcall调用约定,保证链接器能匹配到正确的函数符号。

内容的提问来源于stack exchange,提问作者44a3

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:45:05