[英]Tesseract and Visual C++ 2015
I am trying to use tesseract in a C++ application, but I can't get it to run in Visual Studio. 我正在尝试在C ++应用程序中使用tesseract,但无法在Visual Studio中运行它。 I am getting a couple of "error LNK2001: unresolved external symbol", which I believe is because Visual Studio can't find the dlls I am trying to use.
我收到一些“错误LNK2001:无法解析的外部符号”,我相信这是因为Visual Studio找不到我要使用的dll。 I have done everything detailed at Using Tesseract OCR in VC++ .
我已经完成了在VC ++中使用Tesseract OCR进行的详细操作。 All the tesseract libraries are linked in the right places, but still can't get it to work.
所有的tesseract库都链接在正确的位置,但是仍然无法正常工作。 This is what my code looks like:
这是我的代码如下所示:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>
using namespace std;
int main(int argc, char *argv[])
{
char *outText;
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
// Initialize tesseract-ocr with English, without specifying tessdata path
if (api->Init(NULL, "eng")) {
fprintf(stderr, "Could not initialize tesseract.\n");
exit(1);
}
// Open input image with leptonica library
Pix *image = pixRead("C:\\Users\\Marcio\\PythonProjects\\python_ocr.png");
api->SetImage(image);
// Get OCR result
outText = api->GetUTF8Text();
printf("OCR output:\n%s", outText);
// Destroy used object and release memory
api->End();
delete[] outText;
pixDestroy(&image);
return 0;
}
EDIT: This is the full error message I get: 编辑:这是我得到的完整错误消息:
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol "public: int __cdecl tesseract::TessBaseAPI::Init(char const *,char const *,enum tesseract::OcrEngineMode,char * *,int,class GenericVector const *,class GenericVector const *,bool)" (?Init@TessBaseAPI@tesseract@@QEAAHPEBD0W4OcrEngineMode@2@PEAPEADHPEBV?$GenericVector@VSTRING@@@@3_N@Z) 1> CallPythonFromC ++。obj:错误LNK2001:未解析的外部符号“ public:int __cdecl tesseract :: TessBaseAPI :: Init(char const *,char const *,enum tesseract :: OcrEngineMode,char * *,int,class,GenericVector const *, class GenericVector const *,bool)“(?Init @ TessBaseAPI @ tesseract @@ QEAAHPEBD0W4OcrEngineMode @ 2 @ PEAPEADHPEBV?$ GenericVector @ VSTRING @@@@ 3_N @ Z)
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol "public: __cdecl tesseract::TessBaseAPI::TessBaseAPI(void)" (??0TessBaseAPI@tesseract@@QEAA@XZ) 1> CallPythonFromC ++。obj:错误LNK2001:无法解析的外部符号“ public:__cdecl tesseract :: TessBaseAPI :: TessBaseAPI(void)”(?? 0TessBaseAPI @ tesseract @@ QEAA @ XZ)
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol pixRead 1> CallPythonFromC ++。obj:错误LNK2001:未解析的外部符号pixRead
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol "public: void __cdecl tesseract::TessBaseAPI::SetImage(struct Pix const *)" (?SetImage@TessBaseAPI@tesseract@@QEAAXPEBUPix@@@Z) 1> CallPythonFromC ++。obj:错误LNK2001:无法解析的外部符号“ public:void __cdecl tesseract :: TessBaseAPI :: SetImage(struct Pix const *)”(?SetImage @ TessBaseAPI @ tesseract @@ QEAAXPEBUPix @@@@ Z)
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol "public: char * __cdecl tesseract::TessBaseAPI::GetUTF8Text(void)" (?GetUTF8Text@TessBaseAPI@tesseract@@QEAAPEADXZ) 1> CallPythonFromC ++。obj:错误LNK2001:无法解析的外部符号“ public:char * __cdecl tesseract :: TessBaseAPI :: GetUTF8Text(void)”(?GetUTF8Text @ TessBaseAPI @ tesseract @@ QEAAPEADXZ)
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol "public: void __cdecl tesseract::TessBaseAPI::End(void)" (?End@TessBaseAPI@tesseract@@QEAAXXZ) 1> CallPythonFromC ++。obj:错误LNK2001:无法解析的外部符号“ public:void __cdecl tesseract :: TessBaseAPI :: End(void)”(?End @ TessBaseAPI @ tesseract @@ QEAAXXZ)
1>CallPythonFromC++.obj : error LNK2001: unresolved external symbol pixDestroy 1> CallPythonFromC ++。obj:错误LNK2001:未解析的外部符号pixDestroy
1>C:\\Users\\Marcio\\BlindSight\\CallPythonFromCPP\\x64\\Release\\CallPythonFromC++.exe : fatal error LNK1120: 7 unresolved externals 1> C:\\ Users \\ Marcio \\ BlindSight \\ CallPythonFromCPP \\ x64 \\ Release \\ CallPythonFromC ++。exe:致命错误LNK1120:7个未解决的外部组件
You have at least to add the following dependencies: 您至少必须添加以下依赖项:
tesseract.lib;openjpeg.lib;libwebp.lib;libtiff.lib;libtesseract.lib;libpng.lib;liblept.lib;libjpeg.lib;jbig2enc.lib;giflib.lib;zlib.lib; tesseract.lib; openjpeg.lib; libwebp.lib; libtiff.lib; libtesseract.lib; libpng.lib; liblept.lib; libjpeg.lib; jbig2enc.lib; giflib.lib; zlib.lib;
PropertyPages / Linker / Input / Additional Dependencies PropertyPages /链接器/输入/其他依赖项
Pay attention to your configuration Debug/Release X64 ... 注意您的配置Debug / Release X64 ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.