问题
在工程里新增ring_buffer.c文件,在其它文件里调用ring_buffer.c里的ring_buff_init函数时,报错“undefined reference to `ring_buff_init()”
原因
引用ring_buffer.c里函数的文件为c++文件(.cpp),被引用的函数在c文件里(.c),这就涉及到c和c++混合编程的问题,需要特殊处理下。
解决办法
包含ring_buffer.h的语句修改为:
#ifdef __cplusplus
extern "C" {
#endif
#include "ring_buffer.h"
#ifdef __cplusplus
}
#endif