C语言与C++的函数编译后的命名规则不同,因此在C++工程中直接引用C实现的源码会存在“undefined reference”问题,即找不到函数的实现。
因此,在C的头文件前,应使用extern “C”提示编译器,该代码是使用C语言进行编写的,如以下形式:
extern “C” {
#include lib_from_c1.h
#include lib_from_c2.h
#include lib_from_c3.h
}
再次进行编译,即可排除问题。
C语言与C++的函数编译后的命名规则不同,因此在C++工程中直接引用C实现的源码会存在“undefined reference”问题,即找不到函数的实现。
因此,在C的头文件前,应使用extern “C”提示编译器,该代码是使用C语言进行编写的,如以下形式:
extern “C” {
#include lib_from_c1.h
#include lib_from_c2.h
#include lib_from_c3.h
}
再次进行编译,即可排除问题。