在Visual C++ 2010中构建Tesseract

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 ==========

我不知道该怎么做。有没有人知道问题出在哪里,以及如何解决它?


请查看这个链接 - raym0nd
与 [tag:opencv] 无关,因此我已将标签删除。 - karlphillip
3个回答

1
你需要编辑[tesseract源代码]\vs2010文件夹中的post-build.cmd文件,具体操作如下: 打开该文件,例如使用Notepad++,并将以下行注释掉:
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

如果您之前已经安装了可执行文件,那么这个应该可以解决问题。由于tesseract从环境变量(TESSDATA_PREFIX)中获得\tessdata\文件夹,在“mainblk.cpp”文件的main_setup函数中进行设置,因此不需要像post-build.cmd中所示那样复制数据文件夹。

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


0

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

从他们的readme中可以看到:

下载以下包: 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-3.01”而不是“tesseract-ocr”)。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中)。

0

以管理员身份运行 VS2010,按照 Raym0nd 的建议重新构建。这对我起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接