Tesseract and Visual C++ 2015

Tesseract and Visual C++ 2015

本文关键字:2015 C++ Visual and Tesseract      更新时间:2023-10-16

我正试图在C++应用程序中使用tesseract,但我无法让它在Visual Studio中运行。我收到了几个"错误LNK2001:未解析的外部符号",我认为这是因为Visual Studio找不到我试图使用的dll。我已经完成了在VC++中使用Tesseract OCR的所有详细操作。所有的tesseract库都链接在正确的位置,但仍然无法正常工作。这就是我的代码:

#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; 
}

编辑:这是我收到的完整错误消息:

1> CallPythonFromC++。obj:错误LNK2001:未解析的外部符号"public:int __cdecl tesseract::TessBaseAPI::Init(char const*,char const*、enum tesseract::OcrEngineMode、char**、int、class GenericVector const*、class GeneericVector const*、bool)"(?Init@TessBaseAPI@镶嵌@@QEAAHPEBD0W4OcrEngineMode@2@PEAPEADHPEBV$GenericVector@VSTRING@@@@3_N@Z)

1> CallPythonFromC++。obj:错误LNK2001:未解析的外部符号"public:__cdecl tesseract::TessBaseAPI::TesBaseAPI(void)"(??0TessBaseAPI@tesseract@@QEAA@XZ)

1> CallPythonFromC++.obj:错误LNK2001:未解析的外部符号pixRead

1> CallPythonFromC++.obj:错误LNK2001:未解析的外部符号"public:void __cdecl tesseract::TessBaseAPI::SetImage(struct Pix const*)"(?SetImage@TessBaseAPI@tesseract@@QEAAXPEBUPix@@@Z)

1> CallPythonFromC++.obj:错误LNK2001:未解析的外部符号"public:char*__cdecl tesseract::TessBaseAPI::GetUTF8Text(void)"(?GetUTF8Text@TessBaseAPI@tesseract@@QEAAPEADXZ)

1> CallPythonFromC++.obj:错误LNK2001:未解析的外部符号"public:void __cdecl tesseract::TessBaseAPI::End(void)"(?End@TessBaseAPI@tesseract@@QEAAXXZ)

1> CallPythonFromC++.obj:错误LNK2001:未解析的外部符号pixDestroy

1> C:\Users\Marcio\BlindSight\CallPythonFromCPP\x64\Release \CallPythonFromC++.exe:致命错误LNK1120:7个未解析的外部

您至少需要添加以下依赖项:

tesseract.lib;openjpeg.lib;libwebp.lib;libtiff.lib;libtesseract.lib;libpng.lib;liblept.lib;libjpeg.lib;jbig2enc.lib;givlib.lib;zlib.lib;

PropertyPages/Linker/Input/其他依赖项

注意您的配置调试/发布X64。。。