最近C++上使用C库,报常规的link错误,项目里链接属性页设置是没问题的,最后经过提醒加上网上资料,估计是lib库函数名字更变规则不一致导致,C++为了支持重载会将函数名字加参数一起重新命名。
解决办法:
extern "C"{
//这里放C的头文件
#include "c.h"
}
而建议在编写C库的头文件添加以下预编译:
#ifdef __cplusplus
extern "C"
{
。。。
}
#endif
这样在C++中不需要添加额外的extern "C",就能正常使用。