I'm trying to compile STLport-5.2.1 under MSVC8, with the __stdcall being the default calling convention (/Gz compiler option).
There is a calling convention discrepancy in stlport/stl/_hashtable.* for _Stl_prime::_S_primes:
- in _hashtable.h it is declared without a specific calling convention (making it __stdcall in my case) -- which I think is ok, since it is a private method,
- but in _hashtable.c it is defined explicitely _STLP_CALL (i.e. __cdecl) -- which I think is an error, and yields a compilation error.
I suggest applying the attached patch to use the same calling convention (the default one) in both places.