Version Notes

3.02.02 – October 31, 2012

  • Created a completely new Visual Studio 2008 solution from scratch.

  • Added 64 new source files and removed the following deleted files (relative to v3.01):

    • ccutilmemblk.cpp

    • ccutilmemblk.h

    • ccutilmemryerr.h

    • wordrecpieces.h

    • wordrectally.cpp

    • wordrectally.h

  • Created LIB_Release, LIB_Debug, DLL_Release, and DLL_Debug build configurations.

  • 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’s LIB_Release Linker Additional Dependencies settings for an example of what this looks like in practice.

    See Leptonica’s explanation About version numbers in library filenames for more details.

  • Added a Version Resource to all DLLs and applications.

  • Removed inclusion of the Leptonica libraries. They now have to be downloaded separately.

  • Changed to a Build directory structure that is compatible with Leptonica and allows the building of Tesseract-OCR-based applications using only the include and lib directories.

  • The libtesseract libraries are now named as follows:

    static libraries:

    • libtesseract302-static.lib

    • libtesseract302-static-debug.lib

    DLLs:

    • libtesseract302.lib (import library)

    • libtesseract302.dll

    • libtesseract302d.lib (import library)

    • libtesseract302d.dll

  • Used compiler and linker settings based on the Leptonica VS2008 Developer package.

  • 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.

  • Added Projects for the following new training applications:

    • ambiguous_words

    • classifier_tester

    • dawg2wordlist

    • shapeclustering

  • Moved mathfix.h from vs2008\include to the vs2008\port directory.

  • Removed Visual Studio 2010 support. See Using Visual Studio 2010 for the rationale.

  • Created a python script called tesshelper.py, that eases some maintenance tasks related to releasing future VS2008 Solutions.

  • The list of “public” header files that are required to build “external” applications is now limited to the following 13 files:

    api\apitypes.h
    api\baseapi.h
    ccmain\thresholder.h
    ccstruct\publictypes.h
    ccutil\errcode.h
    ccutil\fileerr.h
    ccutil\host.h
    ccutil\memry.h
    ccutil\platform.h
    ccutil\serialis.h
    ccutil\strngs.h
    ccutil\tesscallback.h
    ccutil\unichar.h