I have a cpp code in which I want to call a c function. Both compile well to .o files, but when the clang++ is executing for compilation, I receive the following error:
file.cpp:74:12: error: expected unqualified-id
extern "C"
^
The code in the cpp file is the following:
void parseExtern(QString str)
{
#ifdef __cplusplus
extern "C"
{
#endif
function_in_C(str);
#ifdef __cplusplus
}
#endif
}
How can I avoid the error ? I can't compile the c file with clang++, I really need to use extern. Thanks.
The
extern "C"
linkage specification is something you attach to a function declaration. You don't put it at the call site.In your case, you'd put the following in a header file:
Then in your C++ code, you just call it like any other function. No extra decoration required.