tesseract
Build errors
- The project requires a C++11 compiler, but this requirement is not specified in
configure.ac
.- workaround: install a C++11 compiler, eg, g++-9, and add a “CXX=g++-9” argument to
configureArgs
- symptom:
In file included from src/wordrec/params_model.cpp:26:0: src/ccutil/helpers.h: In function 'bool tesseract::Serialize(FILE*, const std::vector<_RealType>&)': src/ccutil/helpers.h:240:13: error: expected '(' before 'constexpr' } else if constexpr (std::is_class<T>::value) { ^
- workaround: install a C++11 compiler, eg, g++-9, and add a “CXX=g++-9” argument to
- The project requires
cabextract
butconfigure.ac
does not mention it- workaround:
apt-get install cabextract
- workaround:
Navigation issues
The project has some 810 source files, which are compiled into one shared library (libtesseract.so), which in turn is linked into all 61 tests.
This means that each source code modification requires 1 shared library to be out-of-date, along with the 61 tests and their results.
Also, this means that each of the 61 tests appears to depend on the same set of 810 source files.
Unfortunately this somewhat defeats the Autotools Integration code navigation functionality because:
- VSCode throtles file decorations when too many files are decorated, resulting in missing decorations for some files.
- Highlighting 810 files is not practical “focusing”
This makes live testing practically unfeasable. Every source save requires the entire test suite to be updated/run.