当前位置:网站首页>error: redefinition of ‘xxx‘

error: redefinition of ‘xxx‘

2022-07-28 05:25:00 Alice_wm

问题描述

Arduino项目导入PlatformIO编译遇到error: redefinition of ‘xxx’…note: ‘float humidity’ previously defined here,编译报错二十条,全是一个错误:

在这里插入图片描述

原因分析:

网上查到的都说是目标头文件.h没有加条件编译语句:

#ifndef _TEST_H_
#define _TEST_H_

//。。。

#endif

然后我发现我引入的头文件已经是加了条件编译语句,后来发现工程项目中有两个.ino文件,这两个文件名虽然不同,但是内容一样(我的导入前是没有co2-sensor-main.ino这个文件的,不知道怎么产生的),然后我删掉一个,编译就通过了。
主要就是这两句话,***In file included from C:/Users/Administrator/Documents/PlatformIO/Projects/220614-094530-huzzah/src/co2-sensor-main.ino:4:
src\thermometer.h:8:7: error: redefinition of ‘Adafruit_SSD1306 display’
***In file included from C:/Users/Administrator/Documents/PlatformIO/Projects/220614-094530-huzzah/src/co2-sensor.ino:4:
src\thermometer.h:8:7: note: ‘Adafruit_SSD1306 display’ previously declared here
重新定义“Adafruit_SSD1306 display”
注意:'Adafruit_SSD1306 display’之前在这里声明过
加粗的字体从这里我们可以我感觉两个文件中有重复引用,然后我打开对比后,发现一样的代码,所以删掉一个后,尝试编译,这次通过了。
在这里插入图片描述


有大佬指点一下为什么会多生成一个.ino文件吗

原网站

版权声明
本文为[Alice_wm]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Alice_wm/article/details/125282127