C语言:VS在创建多个源文件后运行时出现的重定义错误:main已经在1.obj中定义的原因已经解决方法

使用VS编写c语言代码时:在一个项目下放了多个源文件(如下面放了两个文件),在运行时就会出现报错: LNK2005    main 已经在 test.obj 中定义   

原因:

由于当前的解决方案或工程文件中存在了两个及以上的main()函数(多个源文件就会有多个main函数),而main函数又是程序的入口,程序只能从一个入口进入。多个入口的话,程序不知从哪个入口进入从而导致报错。

解决方法:

方法1:
注释或删去另外的程序,只保留其中要运行的那个

点击不需要编译的源文件右键,点击“移除”再点击“删除”’。


方法2:
将不需要编译的源文件属性改变

点击不需要编译的源文件右键,点击属性,选择“从生成中排除”,输入“是”或选择“是”,点击“确认”,最后排除的文件右下角有红标。