Visual Studio 2010,在C编译期间,抱怨
MSVCRTD.lib(crtexe.obj):错误LNK2019和致命错误LNK1120
我已经读过你必须在属性下更改项目的配置 - > linker - > subsystem - >子系统/控制台(/ SUBSYSTEM:CONSOLE),但这不是我的情况。
代码应该打印一行文字
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("As soon as installed, VS2010 can't compile. Or maybe I'm doing something wrong.");
return 0;
}
包含文件已正确安装在include目录中。
编辑:完整的错误消息是:
MSVCRTD.lib(crtexe.obj):函数___ tmainCRTStartup中引用的未解析外部符号_main
和
致命错误LNK1120:1个未解析的外部链接
答案 0 :(得分:1)
正如您在许多情况下在问题中所述,问题是因为人们在Visual Studio的项目设置向导中选择了错误的项目类型。使用&#34;控制台应用程序&#34;将使链接器查找_main
而#34; Windows应用程序&#34;将使链接器查找_WinMain
(请参阅MSDN上的WinMain)。但是,如果子系统是正确的,另一个可能导致链接失败的简单错误(在不知不觉中)没有定义_main
。如果由于某种原因,_main
在您的源中但实际上没有生成(可能包括源由于某种原因未被包含在构建中,由于某些宏定义保护它不会生成该函数,等等)你仍会得到你看到的错误。