Today, before I rebuilt a C++ library and its unit test program, I decided to enable SDL checks in the project settings for the unit tests. SDL checks were enabled in the library project when it was upgraded from Visual Studio 6 to Visual Studio 2013, and its compilation listings call out a dozen or SDL warnings, mostly around
_tsprintf
, which I may never fix, because I don't see them as truly broken.
I have many other projects, all having SDL checks enabled, many with unresolved warnings around
_tprintf
and other deprecated CRT functions. To date, none of these has presented a problem.
I recently discovered and began using
#progrma deprecate
to flag certain of my own older functions, to remind me to eventually replace them with their successors. Until today, these deprecated functions have never prevented me compiling and linking a library. The only thing I can see that may differentiate this project from the others is that its output is a character mode program, while the others are dynamic-link libraries.
There is
a discussion on Stack Overflow that gave me the hint that I needed to get moving. However, IMO, the proposed solution begs the question; why is this usage of
pragma warning
flagged as an
error, while every other instance is a
warning?
What I have tried:
What I tried, which worked, is eliminating the SDL checkes.