一、问题 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的资源管理器窗口中选中发生错误的工程,右键选择属性菜单,弹出如下图所示的属性设置窗口,选择连接器,子系统,然后依据根据错误的具体信息选择对应的子系统即可。

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

被折叠的 条评论
为什么被折叠?



