End Google Ads 201810 - BS.net 01 --> I get the error message:

PlanGAUL.obj : error LNK2001: unresolved external symbol "short __cdecl ProcessArgs(int,char * *)" (?ProcessArgs@@YAFHPAPAD@Z)

This function comes to my program from a library of mine. The function is declared as follows: extern bool __cdecl ProcessArgs(int argc, char **argv); in the header file and the same way in source file from which the library is build.
As I tried to find the cause of this error I had encountered the difference between two decorated names of the same function.
In the library there is:

?ProcessArgs@@YA_NHPAPAD@Z

and in "expected" decorated name in my program there is:

?ProcessArgs@@YAFHPAPAD@Z

The difference is in signature which denotes the return type that precedes the letter "H" (the first parameter type, here int). In the library, that is "_N" and in my program - "F", which means short (originally bool). What makes the difference between decorating and what does the "_N" mean, used instead of "F"? I have not found the description of "_N" signature. Compare e.g. http://www.kegel.com/mangle.html

Regards