Created a single libtesseract library and removed generation of the
twelve sub-libraries.

Used references to leptonica_versionnumbers.vsprops and
tesseract_versionnumbers.vsprops Property Sheets, which define
version number “user macros”, in all Visual Studio Projects. These are
also copied to C:\BuildFolder\include, so you can refer to them in
your own projects. By using the new *_VERSION macros, you’ll be
isolated from worrying about version number changes in the library
filenames.

See APITest’sLIB_Release Linker
Additional Dependencies settings for an example of what
this looks like in practice.

Removed all preprocessor defines of __MSW32__ which is no longer
needed.

Removed vs2008includestdint.h which is no longer required to build
liblept.

Removed vs2008includeinttypes.h which isn’t needed to build
liblept.

Turned off the following compiler warnings:

/wd4005: 'snprintf' : macro redefinition
/wd4018 'expression' : signed/unsigned mismatch
/wd4099 type name first seen using 'class' now seen using 'struct'
/wd4244 conversion from 'double' to 'float', possible loss of data
/wd4267 conversion from 'size_t' to 'type', possible loss of data
/wd4305 truncation from 'type1' to 'type2'
/wd4355 'this' : used in base member initializer list
/wd4566 character represented by universal-character-name x cannot
be represented in the current code page
/wd4800 forcing value to bool 'true' or 'false' (performance warning)
/wd4996 'function': was declared deprecated

Used the “C7 Compatible” Debug Information (/Z7) compiler switch,
which puts the debugging information in the .obj files. That way we
don’t have to worry about also supplying .pdb files. See /Z7,
/Zi, /ZI (Debug Information Format) for
more information.