简体   繁体   English

Tesseract和Visual C ++ 2015

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM