4

当我尝试在 Visual C++ 2010 Express 中构建 Tesseract 解决方案时,它说:

21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "post-build.cmd "C:\Tesseract-OCR\tesseract-3.01\vs2010\Release\" "C:\Tesseract-OCR\tesseract-3.01\vs2010\bin.rel"
21>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 4.
========== Build: 20 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我不知道该怎么做。有谁知道问题是什么以及我该如何解决?

4

3 回答 3

1

您必须编辑 [tesseract source]\vs2010 文件夹中的 post-build.cmd 文件,如下所示打开文件,例如在 Notepad++ 中,然后“rem”以下行:

xcopy ..\vs2008\lib\liblept168%DebugVersion%.dll %TargetFolder% /Y /I /D
rem copy data
if not exist %DataFolder% (
   md %DataFolder%
)
xcopy ..\TessData\eng.traineddata %DataFolder% /Y /I /D

如果您之前安装了可执行文件,这应该可以做到。由于在函数中从“mainblk.cpp”文件中的环境变量 ( ) 中tesseract获取文件夹,因此无需按照 post-build.cmd 中的说明复制数据文件夹。\tessdata\TESSDATA_PREFIXmain_setup

如果您没有安装可执行文件,则必须手动创建此变量。该值应指示 \tessdata\ 所在的文件夹,而不是 \tessdata\ 本身,因为 main_setup 的最后一行\tessdata被添加到路径中。

于 2012-05-23T10:52:06.980 回答
0

您可能没有正确安装tesseract-ocr-3.01.eng.tar.gz

从他们的自述文件中

下载这些软件包:

tesseract-3.01.tar.gz - tesseract 源

tesseract-3.01-win_vs.zip - 带有必要库的 Visual Studio(2008 和 2010)解决方案

tesseract-ocr-3.01.eng.tar.gz - tesseract 的英文文件(或下载其他 3.01 或 3.00 语言数据文件)

将它们解压到一个目录('tesseract-3.01')。tesseract-ocr-3.01.eng.tar.gz 的根目录名称错误(“tesseract-ocr”而不是“tesseract-3.01”)。Windows 相关文件位于 vs2008 目录中(例如“tesseract-3.01\vs2008”)。与通常相同的构建过程适用:使用 VC++Express 2008 打开 tesseract.sln 并构建所有(或只是 Tesseract)它应该编译(至少在发布模式下),而无需进一步安装任何东西。包括 dll 依赖项和 Leptonica。输出将在 tesseract-3.01\vs2008\bin (或 tesseract-3.01\vs2008\bin.rd 或 tesseract-3.01\vs2008\bin.dbg 基于配置构建)。

于 2012-10-22T07:47:55.790 回答
0

以管理员身份运行 vs2010 并按照 raym0nd 的建议重新构建。它对我有用。

于 2012-05-22T12:36:10.080 回答