一、error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup D:\libgpmcp\WinProVS8\ui\MSVCRTD.lib(crtexe.obj)
当出现这种错误时,你首先要做得是检查代码拼写错误 ,特别是字母拼写顺序错误、{ }不匹配,有很大概率是这种低级错误。接下来才考虑其它问题:
产生这个问题可能的原因:
1. 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.
2.. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。
解决方法
1).进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS
2).进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.
3.)保存设置,Rebuild All.
3. 还有一种是让人脑恼火的:链接错误 与 LIBCMT冲突,与MSVCRT冲突
解决方法
1).在“配置属性-->链接器-->输入-->忽略特定库”中把libcmt.lib添加进去
2).当发生冲突的是其它自己编译的库函数时,可能是因为lib版本不一致。解决的办法是根据配置重新编译lib,打开项目属性,将“配置属性-->C/C++-->代码生成-->运行时库”设置为“多线程调试 DLL(/MDd)”(因为新工程的设置是这样子)。重新编译