VC调试常见错误一:error LNK2001: unresolved external symbol _WinMain@16

这个是初学VC的最容易遇到的问题

一,问题描述
error LNK2001: unresolved external symbol _WinMain◎16
debug/main.exe:fatal error LNK 1120:1 unresolved externals 
error executing link.exe;

二,产生这个问题可能的原因
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.

2,你用vc建了一个Win32程序,它的入口函数应该是WinMain, 而你使用了main

3,你用vc直接打开或创建了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。

三, 解决方法

1. 最省事的方法,如果建立的控制台程序,主函数用main();如果是Win32程序,主函数就要用WinMain

或者,假如你可以
1 。进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE

2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:console

3.保存设置,Rebuild All.  

 

你可能感兴趣的:(windows,preprocessor)