I\'ve got a weird linker issue. I have code that looks like so:
double given_amount = self.modelController.levelCompleteRewardAmount;
swrve_currency_
If you are using c function in c++ file. you should use extern "c"{}.
In .h file
#ifdef __cplusplus
extern "C" {
#endif
swrve_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++?
You may need to surround the function prototype with:
#if defined __cplusplus
extern "C" {
#endif
void 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.