【ERROR】LNK2005:_main 已经在 xx.obj 中定义 & LNK1169: 找到一个或多个多重定义的符号(C/C++)

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.cxxx.cpp 里也定义了一个main函数。

一个工程里是可以包含多个 .c.cpp 文件的,但只能有一个定义main函数。

在这里插入图片描述

3.解决办法

在源文件中找到其他含有main()函数的 .c.cpp 文件 ,右键单击,选中从项目中移除就行了。

猜你喜欢

转载自blog.csdn.net/Artificial_idiots/article/details/112409679