一、问题描述
为C源码添加qt界面,C++调用C中定义声明的函数时,明明已经添加头文件,仍然报错“XXX未声明的使用”
二、解决
这是由于C与C++编译器对于相同的函数会生成不同的函数名导致的,在头文件中进行声明时,需要添加以下代码,使得C++编译器能够认识C中声明的函数
#ifdef __cplusplus
extern "C" {
#endif
// 在这里写C定义的函数声明
#ifdef __cplusplus
}
#endif
为C源码添加qt界面,C++调用C中定义声明的函数时,明明已经添加头文件,仍然报错“XXX未声明的使用”
这是由于C与C++编译器对于相同的函数会生成不同的函数名导致的,在头文件中进行声明时,需要添加以下代码,使得C++编译器能够认识C中声明的函数
#ifdef __cplusplus
extern "C" {
#endif
// 在这里写C定义的函数声明
#ifdef __cplusplus
}
#endif