1. The "XYZ is not referenced" warnings still appear when compiling the library.
Why? And how can they be fixed?
Turn off warnings.
Heh.
Seriously though, what do the warnings mean exactly?
2. For the LIB, the compiler uses __cdecl calling convention but assembler uses stdcall.
I don't understand how different conventions work together.
__cdecl was chosen because new users try to make console application anyway.
Well in the case this will help others, my current settings are:
(both library and test program)
Compiler -> Calling conv:
__cdeclAssembler -> Calling conv:
cdecl(test program)
Linker -> Subsystem -> Type:
WindowsLinker -> Entry point:
mainCRTStartup2. For the LIB, the compiler uses __cdecl calling convention but assembler uses stdcall.
I don't understand how different conventions work together.
The caller overrides its default convention:
int __stdcall some_C_function(void);
By checking the source code of FreeGLUT, I didn't find any such overrides. Thanks for the idea though.