当我们调用的函数实现是*.c,而不是*.cpp时,如果不注意,在Visual C++编译器中编译,会报错。
error LNK2019,无法解析的外部符号“**************”(?*******)该符号在函数***中被引用。
这是在C++中调用C的代码,我们必须对C的代码进行处理,才能给顺利通过。
有三种方法:
1、修改C代码的头文件,假设其头文件为Max.h,其调用的函数为int Max(int nA,int nB);
C代码的头文件
#ifndef_MAX_H_
#define_MAX_H_
extern "C" int Max(int nA,int nB);
#endif
2、修改C代码的头文件,并在C++代码中,重新声明一下C函数,在重新声明时添加extern ”C“,
C代码的头文件
#ifndef_MAX_H_
#define_MAX_H_