error LNK2019: 无法解析的外部符号 WinMain,error LNK2001: 无法解析的外部符号 WinMain,error LNK1120: 1 个无法解析的外部命令

本文介绍了在Visual Studio中遇到的编译错误LNK2019和LNK2001,这两个错误通常与无法找到WinMain函数有关。错误的原因是工程属性设置不正确,项目被误认为是窗口程序而非控制台程序。解决办法是进入工程属性,将子系统设置为'Windows'或'Console',取决于项目类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题 error LNK2019,error LNK2001: 无法解析的外部符号 WinMain

Debug版本:

1>MSVCRTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
1>E:\worspace_Gis\qgis-3.10.0\dependency\SQLite3\x64\Debug\SQLite3d.exe : fatal error LNK1120: 1 个无法解析的外部命令

Release版本:

1>MSVCRT.lib(exe_winmain.obj) : error LNK2001: 无法解析的外部符号 WinMain
1>E:\worspace_Gis\qgis-3.10.0\dependency\SQLite3\x64\Release\SQLite3.exe : fatal error LNK1120: 1 个无法解析的外部命令

 二、问题原因

        根据输出提示可以发现是无法解析到WinMain函数,而我们又知道WinMain函数是window窗口程序的入口点,而我们编写的程序是控制台程序,应该是是我们工程属性设置错误。

三、解决办法

        Visual Studio的资源管理器窗口中选中发生错误的工程,右键选择属性菜单,弹出如下图所示的属性设置窗口,选择连接器,子系统,然后依据根据错误的具体信息选择对应的子系统即可。

点赞收藏+关注,谨防丢失!!!

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值