VS 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

时间:2024-04-03 11:28:59

vs应用程序都有一个主函数入口,并且不同类型的应用程序的主函数入口不尽相同。如果应用程序为Win32应用程序(子系统为/subsystem:windows),那么主函数入口为WinMain或者wWinMain函数,如果找不到这连个函数,链接程序返回“无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用”错误信息;同样地,如果应用程序为控制台应用程序(子系统为/subsystem:console),那么主函数入口为main函数或者wmain函数,如果找不到这连个函数,链接程序返回“unresolved externel symbol”错误信息。也就是说,创建应用程序时如果选择了错误的应用程序类型,那么就会出现上述错误。例如,开发人员创建了一个Win32应用程序,并给这个项目创建了一个入口函数main。在这种情况下,创建应用程序时,开发人员就会看到链接程序的错误信息“无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用”。这是因为Win32应用程序找不到相应主函数入口,即Winmain或者wWinmain函数。以下提供3种可行的解决方案:

1.  将子系统更改为/subsystem:console

VS2012 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

2. 在下图中的入口点一栏输入mainCRTStartup

VS2012 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

3. 直接将主函数main()改为WinMain()