【发布时间】:2015-08-07 01:18:10
【问题描述】:
我有一个 cpp 代码,我想在其中调用一个 c 函数。 两者都可以很好地编译为 .o 文件,但是当 clang++ 正在执行编译时,我收到以下错误:
file.cpp:74:12: error: expected unqualified-id
extern "C"
^
cpp文件中的代码如下:
void parseExtern(QString str)
{
#ifdef __cplusplus
extern "C"
{
#endif
function_in_C(str);
#ifdef __cplusplus
}
#endif
}
如何避免错误?不能用clang++编译c文件,真的需要用extern。谢谢。
【问题讨论】:
-
@Mat:这是一个答案!!是的,它很短,但是,这是一个简单的问题:P
-
那么从 CPP 调用我的 C 函数的最佳方式是什么?关于 QString,我可以很容易地转换为 char *.
-
@LaurentCrivello:用
extern "C"声明函数。像任何其他函数一样调用它。 -
@LaurentCrivello - 我认为 This answer 解决了您的评论问题。