Linker error calling C-Function from Objective-C++ Linker error calling C-Function from Objective-C++ objective-c objective-c

Linker error calling C-Function from Objective-C++


You may need to surround the function prototype with:

#if defined __cplusplusextern "C" {#endifvoid swrve_currency_given (...whatever goes here...);#if defined __cplusplus};#endif

That tells the compiler that it's a C function and not a C++ function.


If you are using c function in c++ file. you should use extern "c"{}. In .h file

#ifdef __cplusplusextern "C" {#endifswrve_currency_given(parameter1, parameter2, parameter3);// a c function#ifdef __cplusplus}#endif  

extern "C" is meant to be recognized by a C++ compiler and to notify the compiler that the noted function is (or to be) compiled in C style.

If you're linking to a library that was compiled as C code. use

extern "C" {  #include "c_only_header.h"}

Take a look at When to use extern "C" in C++?