在eclipse中使用c库到c ++项目

时间:2013-06-08 21:55:37

标签: c++ c eclipse

我有一个通过编译它的ac库。它将生成一个.so库,它将在其他c项目中使用,其中一个头文件(xh)用于访问你的.so文件中的库函数项目。在我的项目中非常简单包括x.header并给出-lx.so文件和库源目录(.so文件)的路径来eclipse C链接器并编译我的项目。

问题是:我如何将这个c库与我的c ++项目一起使用,就像上面在eclipse中解释的c项目一样?

我在eclipse中的c ++代码中做了同样的事情,并在我的c ++链接器库中添加.so文件也包含库源路径。之后我添加了标题并尝试使用库函数,但是eclipse给出了错误“未定义的函数引用...”并且无法编译代码。

谢谢。

1 个答案:

答案 0 :(得分:2)

要在C ++中使用任何C编译代码,您需要在标题中用extern "C" { ... }包装它[如果您计划在C ++编译器中编译它,也就是库内容本身]。

要确保可以使用BOTH C和C ++编译代码,可以使用:

#idfef __cplusplus
extern "C" {
#endif

int func(double d); 

... 

#idfef __cplusplus
}  // end of extern "C"
#endif

这样,extern "C"仅在使用C ++编译器时发生,并且您不会在C编译器中出错。

相关问题