获取中...

-

Just a minute...

名人说:博学之,审问之,慎思之,明辨之,笃行之。——《中庸》

创作者:Code_流苏(CSDN)

本篇文章收录于:各类问题记录专栏

@TOC

一、原因经过

由于在一个项目中创建了两个源文件,在运行第二个源文件时,报了以下错误,

在这里插入图片描述

即:当VS中一个项目下有两个及以上的源文件时,编译会产生错误:main已经在xxxx.obj中定义,找到一个或多个多重定义的符号。于是四处寻找解决办法,总结如下。

二、解决方法

1️⃣方法一 注释

将暂时不使用的源文件的main函数注释掉,例如想要运行2.cpp时,将1的主函数用” // “ 或者 “/ * * /“注释符注释掉。

在这里插入图片描述

如图,注释之后,已经可以正常运行使用了

在这里插入图片描述

2️⃣方法二 生成排除

将不需要编译的源文件进行生成排除:右键—>“属性”,将“从生成中排除”选择—>“是”,保存后再运行需要运行的源文件就可以成功,且被排除的文件右下角会有标记

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如图,无注释1.cpp的main函数状态下,仍然可以运行成功。

在这里插入图片描述

3️⃣方法三 直接排除

右键对应源文件,选择“从项目中排除”,之后项目中不会见到该源文件,例如将1.cpp排除,之后运行2.cpp

在这里插入图片描述

排除之后,可以发现只剩2.cpp了

在这里插入图片描述

运行如图:

在这里插入图片描述

看到这里有小伙伴可能会有疑问,那1.cpp是被删除了吗?
实际上没有被删除,只是说,你在这里看不见了,不代表它直接从根目录删除了。
如图可见,并没有被删除,在根目录,文件依然是存在的,想要使用再添加到项目下就行了。

在这里插入图片描述

4️⃣方法四 新建一个项目

如果是两个根本并不相关的程序,不妨新建一个项目,将其中一个程序放到新建的项目里,这样就不会产生所谓的重定义问题了,不过这样可能会有些费工夫。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

创建源文件,之后点击运行,如图,程序成功运行。

在这里插入图片描述

5️⃣方法五 换devc++或其它编译器

VS目前使用起来是偏工程项目型的,但是UI、编译等体验确实不错,不过如果觉得以上步骤比较麻烦,可以考虑比较简洁的devc++,devc++在使用时一般不会出现此类问题,当然其它类似的软件也是可以的,方便使用就行。

在这里插入图片描述

devc++下载地址

三、总结收获

在遇到问题时,不要怕麻烦,解决它往往才是最便捷的路径。

最后,以此句作尾,走遍世间萧瑟与繁华,愿你仍能保持一颗热忱的心!

很感谢你能看到这里,如有相关疑问,还请下方评论留言。
**Code_流苏(CSDN)**(一个喜欢古诗词和编程的Coder😊)
问题解决时间记录:2023/4/8

相关文章
评论
分享
  • 问题记录1 解决Ubuntu界面太小的问题

    名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波·莫听穿林打叶声》Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 对于20版本及以上的unbuntu我们可以通过安装open-vm-tools来解决界面...

    问题记录1 解决Ubuntu界面太小的问题
  • Git学习笔记

    名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波·莫听穿林打叶声》Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder)@TOC 0.学习Git有什么用?学习Git非常有用,主要体现在以下几个方面: ① 版本控制...

    Git学习笔记
  • Hello World

    Welcome to 桑榆的Blog!

    Hello World
Please check the parameter of comment in config.yml of hexo-theme-Annie!