C++引用C的静态库

来源:互联网 发布:淘宝网能买到处方药吗 编辑:程序博客网 时间:2024/06/11 07:43

操作系统:Linux 


项目中使用的语言是C++, 客户给的静态库是用c语言封装的,编译时一直报错:undefined reference to "xxxxxxxxxxxx".


经过查找得出原因有两点:

1. c++ 与 C 引用静态库头文件的时候,没有添加 extern "C" {  xxxxxxxx.h }

原因:C++ 有多态,编译时函数名和参数会联合起来,C语言没有,所有C++ 在调用C的静态库时,用extern C 告知编译器。


2.但是用extern “C” 之后 编译时依旧报错。经过大半天的调试最后发现,是客户给的静态库里有些接口没有实现,这真是汗汗汗!!!




0 0
原创粉丝点击