首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++中调用c库解决思路

2012-05-21 
c++中调用c库自己编译生成的c的lib,这些lib里有头文件a.hb.h等。(a.h中有函数aa(),b.h里有函数bb(),bb()里

c++中调用c库
自己编译生成的c的lib,这些lib里有头文件a.h b.h等。
(a.h中有函数aa(),b.h里有函数bb(),bb()里调用了函数aa())
每个头文件中都在函数申明前加了
#ifdef __cplusplus
extern "C" {
#endif
函数声明
#ifdef __cplusplus
};
#endif
我在另一个c++工程里,需要调用c的这个lib
在cpp文件中添加了
extern "C" {
#include "b.h"
}
结果重新生成时报错:
error LNK2019: 无法解析的外部符号 _aa,该符号在函数 _bb 中被引用
百试不得解,求助

[解决办法]
怀疑你生成 .lib 的时候,没有把 a.c 包含在内
[解决办法]
在头文件中加了extern "C" 后, 再include它时就没有必要再extern "C" 了。
有没有可能你的a.c没有编译到lib中。

热点排行