如果你是在使用C++调用C 的时候报了这个错误,那么这篇文章可能会解决你的问题。
反正我是花了一点时间去解决。
C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。
在C的.h文件中顶部加入以下代码
#ifdef __cplusplus
#if __cplusplus
extern "C"{
#endif
#endif /* __cplusplus */
- 在C的.h文件中#endif 后面加入以下代码
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* __cplusplus */
OK , 反正我的问题在这里就解决了,希望能帮到有需要的同学。
下面上一个我参考的连接来自大佬的帮助