1.错误描述
在Visual Studio中执行C语言程序时出现下列错误:
错误1:error LNK2005: _main 已经在 xx.obj 中定义
错误2:error LNK1169: 找到一个或多个多重定义的符号
程序代码如下:
#include <stdio.h>
int main()
{
printf("hello world!");
return 0;
}
2.错误原因
工程里有多个 .c 或 .cpp 文件,而且都定义了main函数。
具体到这个问题里,就是除了当前的 .c 文件,还有一个其他的 xxx.c 或 xxx.cpp 里也定义了一个main函数。
一个工程里是可以包含多个 .c 或 .cpp 文件的,但只能有一个定义main函数。
3.解决办法
在源文件中找到其他含有main()函数的 .c 或 .cpp 文件 ,右键单击,选中从项目中移除就行了。