在C中包含c ++库

时间:2014-07-09 11:38:52

标签: c++ c boost include

我有一个包含boost库的头文件,我需要将这个头文件包含在用C编写的源代码中。是否可以这样做?

谢谢!

3 个答案:

答案 0 :(得分:4)

不,您通常不能在C程序中包含C ++标头。您需要将C程序可能使用的声明分离到单独的标头中,并确保它们在C ++中具有正确的语言链接:

#ifdef __cplusplus
extern "C" {
#endif

// C-compatible declarations here

#ifdef __cplusplus
}
#endif

答案 1 :(得分:0)

使用适配器模式(http://en.wikipedia.org/wiki/Adapter_pattern) 这篇文章已经讨论了类似的问题:Using C++ library in C code

答案 2 :(得分:0)

您无法在C中使用Boost库。

但你可以找到许多替代品,如GLIBAPR