我正在尝试在资源包中包含一个文件,文件包含以下内容:
LeadPunc="({[`'
TrailPunc=}:;-]!?`,.)"'
NumLeadPunc=#({[@$
NumTrailPunc=}):;].,%
Operators=*+-/.:,()[]
Digits=0123456789
Alphas=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
*extra line*
调用文件:
eng.cube.lm
我得到的错误是:
IExpenseReporter/tessdata/eng.cube.lm:6: premature EOF
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lex failed with exit code 1
此文件与最新版本的tesseract(OCR)一起使用。有没有人知道是什么导致了这个错误以及如何修复它?
答案 0 :(得分:11)
确保选择"创建文件夹参考"将tessdata文件夹添加到项目中时的选项。
注意:此库目前需要链接tessdata文件夹 作为引用文件夹而不是符号组。如果Tesseract不能 在你自己的项目中找到一个语言文件,可能是因为你 创建了tessdata文件夹作为符号组而不是 引用文件夹。如果你做得正确,它应该是这样的:
注意tessdata文件夹有一个蓝色图标,表示它是 导入为引用文件夹而不是符号组。
删除当前文件夹并将其再次添加为文件夹引用应该可以解决问题。
答案 1 :(得分:1)
XCode“认为”这是一个lex文件,并尝试通过调用lex来处理它。但是,lex发现并且报告不平衡,因此文件过早结束。
您应该尝试明确调用指定的工具。
答案 2 :(得分:0)
我遇到了这个问题,我发现将文件夹“tessdata”从语言zip复制到项目目录而不是Xcode修复了问题。