引言
最近刚开始学习esp32,用vscode platformio环境编译过程中遇到这个问题,调用自己写的库函数
会出现函数未定义的提示,搞了老半天才解决这个问题。
报错提示如下图
原因分析:
esp32大部分库函数以及main文件均为cpp格式,我自己创建的文件为.c格式,在cpp中调用c需要利用extern c声明。
解决方法1:
第一种解决方法是最直接暴力的,直接将自己创建的.c文件改为.cpp文件,此时编译就能成功。
解决方法2:
该方法不需要更改.c文件,只需要利用extern c就能解决这个问题,创建一个名为sys的头文件,自己创建函数的头文件均在这里声明,在主函数中调用头文件#include "sys.h"就能解决
最后成功编译。