从C文件创建库时出错

时间:2013-11-30 14:02:39

标签: c++ c

我正在尝试从C ++代码调用sample_c.c中定义的C函数(带有sample_c.h中的函数声明)。我在sample_c.h中使用这个声明

extern "C" void print_c(void);

和sample_c.c中的这个定义

extern void print_c(void) {....}

并尝试生成我想要与我的cpp代码链接的lib。尝试使用此C代码生成lib时出现错误。

gcc -c sample_c.c
error: expected identifier or ‘(’ before string constant

我无法纠正这个问题。有人可以建议我哪里出错。

1 个答案:

答案 0 :(得分:5)

extern "C"在C中无效。要编写可用于C和C ++的标头,必须确保在编译为C时<{1}}不可见:

extern "C"