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

news/2024/5/4 19:29:19/文章来源:https://blog.csdn.net/qq_51646682/article/details/130033544

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

创作者:Code_流苏(CSDN)

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

记录

      • 一、原因经过
      • 二、解决方法
        • 1️⃣方法一 注释
        • 2️⃣方法二 生成排除
        • 3️⃣方法三 直接排除
        • 4️⃣方法四 新建一个项目
        • 5️⃣方法五 换devc++或其它编译器
      • 三、总结收获

一、原因经过

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

在这里插入图片描述

即:当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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_283715.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习Python的一些知识点记录

一、对象比较 Python中有两种对象比较方式&#xff1a; 值比较。使用比较符号&#xff08;、>、<等&#xff09;标识符比较。使用 is、not 关键字。标识符就是对象在内存中的有效地址&#xff0c;使用 id() 函数可以得到对象的标识符。二、None 对象 这是一个特殊对象…

【Python】数学 - 用 Python 自动化求解函数 f(x) 的值

目录 1、缘起 2、求以下函数的值 3、代码清单 3.1、求解 f(0)、f(1)、 f(​编辑)、f(​编辑) 3.2、求解 g(0)、g(1)、g(​编辑)、g(​编辑) 3.3、求解 h(0)、h(1)、h(​编辑)、h(​编辑) 4、总结 1、缘起 Python 是一种强大的编程语言&#xff0c;它具有广泛的应用领域。…

四、第二阶段

全局数据 声明 # < lib_arm\board.c > DECLARE_GLOBAL_DATA_PTR; 定义 # < include\asm\global_data.h > typedef struct global_data { bd_t *bd; unsigned long flags; unsigned long baudrate; unsigned long have_console; /* serial_init() was calle…

使用adb 命令删除手机预装app

1. 手机开启开发者选项&#xff0c;允许usb调试&#xff1b; 2.pc 安装adb&#xff0c; 1&#xff09;Windows版本&#xff1a;https://dl.google.com/android/repository/platform-tools-latest-windows.zip 2&#xff09;按键windowsr打开运行&#xff0c;输入sysdm.cpl&a…

Go 语言安装部署,两分钟让你写`上Hello World`(包含 goland 开发工具)

Go 语言安装部署&#xff0c;两分钟让你写上Hello World&#xff08;包含 goland 开发工具&#xff09; 第一步下载 Go 安装包 官网 https://golang.google.cn/dl/ 根据自己使用电脑平台选择安装版本 第二步 安装 GO 打开安装包直接点击next下一步 勾选协议&#xff0c;继…

10 kafka生产者发送消息的原理

1.发送原理&#xff1a; 在消息发送的过程中&#xff0c;涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator&#xff0c; Sender 线程不断从 RecordAccumulator 中拉取消息发送到…

CTFHub | 00截断

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

IDEA修改主题 设置背景图片

IDEA修改主题 设置背景图片 目录IDEA修改主题 设置背景图片1.修改IDEA默认主题2.修改IDEA背景图片2.1 打开设置界面2.2 下载插件很多小白在刚刚使用IDEA的时候还不是很熟练本文主要给大家提供一些使用的小技巧&#xff0c;希望能帮助到你1.修改IDEA默认主题 IDEA的默认主题是黑…

Jmeter 工具测试 websocket

WebSocket 是一种基于在单个 TCP 连接上进行全双工通信的协议&#xff0c;是从HTML5开始提供的一种浏览器与服务器之间进行全双工通讯的网络技术。相较于 HTTP 协议&#xff0c;WebSocket 协议实现了持久化网络通信&#xff0c;可以实现客户端和服务端的长连接&#xff0c;能够…

对Javascript中作用域的理解?

一、作用域 作用域&#xff0c;即变量&#xff08;变量作用域又称上下文&#xff09;和函数生效&#xff08;能被访问&#xff09;的区域或集合 换句话说&#xff0c;作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() {let inVariable "…

C/C++中文参考手册离线最新版

最近又用回C/C刷题&#xff0c;回想上一年还在用Java&#xff0c;C/C才是世界上最好的语言&#xff08;纯属调侃&#xff09;。哼哼&#xff0c;不许反驳。 想分享我正在使用的C/C中文参考手册离线最新版给大家&#xff0c;需要的朋友们可以自行下载&#xff08;free的哦&#…

造型别致的耳夹式耳机,听出新色彩,塞那Z50上手

蓝牙耳机这几年发展很快&#xff0c;市面上的选择特别丰富&#xff0c;其中还有不少设计、音质都特别出彩的产品&#xff0c;像是我最近在用的这款sanag塞那Z50&#xff0c;就采用了一种很新颖的设计&#xff0c;带来了更加舒适的佩戴体验&#xff0c;而且音质表现也很出色。 s…

Redis 如何使用 Sentinel 构建主从复制的高可用架构?

文章目录Redis 如何使用 Sentinel 构建主从复制的高可用架构&#xff1f;什么是 Sentinel 服务&#xff1f;如何配置 Sentinel 集群服务&#xff1f;启动 Sentinel 服务配置说明测试主节点失效查看 Sentinel 主节点服务状态查看 Sentinel 从节点服务状态模拟主节点失效观察各个…

Unity实战篇 | 使Unity打包的exe程序始终保持屏幕最前端【文末送书】

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

Winform控件开发(28)——ToolTip(史上最全)

前言: 该控件的作用是在鼠标移动到控件上方时,弹出一个提示框,效果如下: 利用方法SetToolTip将工具提示和控件绑定 toolTip1.SetToolTip(button1 ,"提示1");一、属性 1、Name 获取控件对象 2、Active 为true时,工具提示才有效 3、AutomaticDelay 设置该…

第一章:part1监督学习:回归

线性回归&#xff08;linear regression model&#xff09; 线性回归模型 回归&#xff1a;可以预测数字作为输出 是一种特殊的监督学习模型 例&#xff1a;通过已知的房价来拟合曲线 可以求得英尺的价格 区别回归与分类&#xff1a;分类的输出结果一般为离散的&#xff0c;并…

Python第二章---列表简介

1、列表是什么&#xff1f; 在Python中用 [ ] 表示列表&#xff0c;用 逗号 , 分隔元素 每个元素用对应类型的方法标注&#xff0c;如字符串类型用单引号‘ ’标注 形如 list1 [a,b,c] print(list1); 输出时&#xff0c;会打印全部内容&#xff0c;包括符号 访问列表元…

Linux系统操作命令

1.linux目录结构 不同于 Windows 系统的⽂件路径的起点是盘符, Linux 系统的路径起点是/(根⽬录) 注意: - 1. / 为根⽬录, 是所有⽂件的路径的起点 - 2. 根⽬录下的所有第⼀层级的⽂件夹, 均不能随意进⾏修改操作 - 3. 掌握常⽤⽬录的作⽤即可 - 4. / 根⽬录, /home 普通⽤户…

AI助手帮你轻松做好Imagenet数据集重命名与复制

AI助手帮你轻松做好Imagenet数据集重命名与复制 任务需求 我们对Imagenet数据集进行了水下的退化处理&#xff0c;保存的数据集所有图片的深度图&#xff0c;格式为.npy。但是命名存在一些问题&#xff0c;现有格式为&#xff1a;n02009912_1916.JPEG.npy&#xff0c;需要更改…

哪个网站的电子书最多?

程序员宝藏库&#xff1a;https://gitee.com/sharetech_lee/CS-Books-Store 随便找一个电子书导航&#xff0c;就会给你提供几十个电子书下载网站。 然而&#xff0c;当真正用到时会发现&#xff0c;质量层次不齐&#xff0c;在绝大多数时候试遍几十个网站都找不到自己想要的书…