c++ - 在 Windows 10 中使用 vcpkg 安装 Tesseract

标签 c++ package installation tesseract vcpkg

我的设置:目前我在 Windows 10 上的 visual studio 2017 中使用 c++。

目标:开始在我的基本 C++ 应用程序中使用 tesseract ocr。首先,为了确保我能够#include tesseract 库并编译和执行一个非常简单的程序,我尝试运行下面的简单测试程序,官方提供了tesseract project's "APIExample" page。 .

到目前为止我做了什么: 遵循 this stack overflow answer 的建议,我在命令提示符下运行了 vcpkg install tesseract:x64-windows 命令以及命令 .\vcpkg integrate install。当我运行命令 vcpkg list 时,我看到了我安装的所有包(如下面的屏幕截图所示),但是尽管 visual studio 中的智能感知给我错误,说它找不到要运行的包含前面提到的测试项目,我在下面发布了它的代码。是什么赋予了?我在下面提供了我的 visual studio 设置的屏幕截图,其中包含生成的错误和错误代码以供引用。

#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>

int main()
{
    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("/usr/src/tesseract/testing/phototest.tif");
    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;
}

enter image description here

enter image description here

最佳答案

看起来你的 tesseract 包已经为 x64 平台安装,但你的项目设置似乎是在 x86 中。更正它并确保在库设置中选择“多线程动态链接”。如果一切顺利,MSCV IDE 会在运行时自动将这些依赖 DLL 复制到您的应用程序目录。

关于c++ - 在 Windows 10 中使用 vcpkg 安装 Tesseract,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951283/

相关文章:

cocoa - 如何使用终端安装 Mac 应用程序

c++ - 如何从类列表中释放内存

c++ - 如何模拟 Google Test 中公共(public)方法正在使用的类中的私有(private)方法?

c++ - 使用推力的 ODE 求解器的 CUDA 编程

c++ - 列表参数的类型定义

java - 准备好发布 Java 程序

java - org.apache.hive.jdbc.HiveStatement/org.apache.hadoop.hive.jdbc.HiveStatement 之间的区别

windows - 在 Windows 10 上安装 Rust 时如何修复 "detected conflict"错误?

node.js - 安装 nodejs/npm 时遇到问题

wix - 如何跳过 WIX 生成的安装程序中的功能选择屏幕?