'How can build a legacy C++ component which reports "unresolved external symbol __imp____p__iob referenced in function"

I have a legacy C++ component which won't build. I've managed to satisfy all the syntax errors due to compiler changes over the years, and also resolved:

LNK2001 unresolved external symbol __imp__sprintf

By adding:

#pragma comment (lib, "legacy_stdio_definitions.lib")

But I still have a number of errors like:

unresolved external symbol __imp____p__iob
unresolved external symbol __imp___sys_errlist 
unresolved external symbol __imp___sys_nerr
unresolved external symbol __imp____p__pctype
unresolved external symbol __imp____p___mb_cur_max

It's a third party library which needs these, and I can't deprecate those dependencies. I also can't rebuild the third party library (and feels like opening another can of worms to be honest).

If I can resolve a large number of these errors by adding "legacy_stdio_definitions", surely there's some other ancient lib(s) out there which would clear these final problems?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source