转自:arduino开发过程中编译问题undefined reference to
C++,Arduino被编程,执行名称修改。编写外部函数的 C 则不然。
名称重整意味着调用的实际函数是使用由类名、函数名和参数类型名组成的名称来调用的。
为了从C++函数调用 C 函数,编译器需要知道它应该使用 C 调用语法,而不是C++调用语法。
在头文件中,在任何函数声明之前,添加:
#ifdef __cplusplus
extern "C" {
#endif
在所有函数声明之后,添加:
#ifdef __cplusplus
}
#endif
这将允许从C++调用 C 函数。
Comments | NOTHING