在 x64 位机器上的 Visual Studio 2013 中链接 tesseract 和 opencv

Linking tesseract and opencv in Visual Studio 2013 on x64 bit machine

我正在尝试 运行 基于 tesseractopencv 的程序 Visual Studio2013。我有一台 x64 位机器,问题是当我在 Win32 下 运行 它时,我只有 opencv 链接错误,但是在 x64 下,我有 tesseract 链接错误。

以下是一些错误的截图:

Tesseract 错误:

error LNK2001: unresolved external symbol pixDestroy
error LNK2001: unresolved external symbol pixReadTesseract
error LNK1120: 7 unresolved externals

Opencv 错误:

error LNK2001: unresolved external symbol _cvLoadImage  
error LNK2001: unresolved external symbol _cvCreateImage    
error LNK2001: unresolved external symbol _cvSaveImage  
error LNK2001: unresolved external symbol _cvReleaseImage   
error LNK1120: 4 unresolved externals

谢谢你们:-)

你的问题似乎是你有 32 位构建的 Tesseract 和 64 位构建的 OpenCV,并试图在同一个程序中使用它们。这行不通——您要么需要所有 64 位库用于 64 位应用程序,要么需要所有 32 位库用于 32 位应用程序。

如果您想坚持使用 OpenCV 3.1(因为标准分发包似乎不包含 32 位二进制文​​件),那么您必须自己构建其中一个库。旧版本仍然有它们。

另一种选择是下载 this nuget package 以及相关的可再发行组件包。由于文件只是具有不同扩展名的 ZIP 文件,因此可以提取所有 headers、手动导入库和 DLL。