ESP32添加自己的头文件报错解决方法

博客讲述了在vscode+platformio搭建的Arduino开发环境中,main.cpp添加#include “ui.h”编译报错的问题。解决办法是在lib下创建文件夹并添加.c和.h文件,在.h文件添加特定代码,即可用C++调用C语言代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错:在这里插入图片描述
我打开自己的.h文件是这样的
在这里插入图片描述
在这里插入图片描述
main.cpp添加#include “ui.h”
按理说是没问题的,但是编译后还是报了标题的错误

解决办法:
在lib下创建一个文件夹,例如我创建的是test文件夹,在文件夹下创建.c和.h两个文件。
在这里插入图片描述

自己的头文件中添加以下代码
在这里插入图片描述
编译完成
在这里插入图片描述
然后把程序烧写到esp32上,就能成功运行啦。

ps:出现这个原因可能是我创建的环境是vscode+platformio,用platformio搭建Arduino开发环境,而Arduino用c++写的多,用c去编译没准就会报错。而extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码
把#ifdef __cplusplus
extern “C” {
#endif

#ifdef __cplusplus
} /extern “C”/
#endif
上面两段代码添加到.h文件上编译后就可以用C++调用C语言代码了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值