Quote Originally Posted by 2kaud View Post
You cannot use the code of tesseract in VS2010, but if tesseract is compiled into a .dll or an .obj, then potentially these could be used by VS2010 c++ code. When you referred to using the tesseraft library within VS2010 previously, this is what I thought you meant. When you compile a c++ program, this produces .obj file(s) which are then linked to produce the .exe (or .dll) file. These .obj files need not all have been compiled at the same time by the same compiler. Indeed, this is how say a program composed of Fortran and c++ sources is compiled and linked. The c++ compiler produces a.obj file, the Fortran compiler produces a .obj file and then the linker combines these to produce the .exe. If you use VS2017 to produce a .dll from the tesseract source, then the exported functions can be used by another c++ program by referencing the appropriate .lib file at link time and including an appropriate header for the function definitions. However if this header for tesseract requires <cinttypes> then this avenue is closed off (if you can't get around it) and you're left with linking multiple .obj files.

However, why are you trying to persist with using VS2010? This is 8 years old and doesn't even support c++11 - never mind the latest c++17 standard. Why not just move to the current VS2017?
After all, I have installed VS2017, and I like it. I needed VS2010 compiled tesseract library because the project where I am intend to use this library is VS2010 project ... now I should convert this parent project, built in VS2010 into VS2017 ... I hope I will succeed.

I have successfully compiled leptonica and tesseract libraries, but only with VS2017 ... now is follow the next step: to see why these libraries is not working in my project

All these libs are compiled as Debug Win32, and my MFC project is compiled as Debug x86, all of them as Multi-threaded Debug DLL (/MDd) ...

When I tested their sample code:

Code:
	tesseract::TessBaseAPI api;
	if (0 != api.Init(NULL, _T("eng"), tesseract::OEM_DEFAULT))
	{
		m_sState.Format(_T("tesseract initialize error"));
		return FALSE;
	}
always the app is pass by error branch ... but this is other issue. Anyway, I really thank you for your time and patience.