Hello
The issue here is that you are calling a function implemented in an ANSI C module from a C++ module.
If this is really what you want to do you need to tell the compiler you are doing that.
This is done enclosing function prototypes from your ANSI C module between
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
So your module TIMERAPI.h should look as follows:
#ifdef __cplusplus
extern "C" {
#endif
void Delayus(unsigned int us);
void Delayms(unsigned int ms);
#ifdef __cplusplus
}
#endif
Note that V3.0 was behaving exactly in the same way. I assume in V3.0 you were building a file called main.c or you did use an option to force compilation of .cpp file as ANSI C source files.
CrasyCat