When it gives some linking errors related to no-reference blah blah, it might be caused by interpreting .h and .c files as C++ files. You need the following headers and footers on .h files.#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif