esp32 idf版本使用vscode插件开发,新建库需要注意的地方

#ifndef HZC_TEST_H
#define HZC_TEST_H
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
void hzc_test(void);
#ifdef __cplusplus
}
#endif
#endif // HZC_TEST_H
C语言融合进C++项目,需要做 extern "C" 这个声明,用于确保 C 语言编写的函数可以被 C++ 代码正确调用。
#ifdef __cplusplus
extern "C" {
#endif
自己的函数
#ifdef __cplusplus
}
#endif
这里面 #ifdef __cplusplus 也不能少。
最近也是被这个问题折腾了好几天,开始一直以为是cmakelist.txt文件没有包含进去,后来比对了很多遍都没问题,才开始考虑C++和C语言的兼容性。