命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lex失败,退出代码为1

时间:2013-12-01 07:44:07

标签: xcode ios7 tesseract

我正在尝试在资源包中包含一个文件,文件包含以下内容:

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)一起使用。有没有人知道是什么导致了这个错误以及如何修复它?

3 个答案:

答案 0 :(得分:11)

确保选择"创建文件夹参考"将tessdata文件夹添加到项目中时的选项。

来自documentation

  

注意:此库目前需要链接tessdata文件夹   作为引用文件夹而不是符号组。如果Tesseract不能   在你自己的项目中找到一个语言文件,可能是因为你   创建了tessdata文件夹作为符号组而不是   引用文件夹。如果你做得正确,它应该是这样的:

     

enter image description here

     

注意tessdata文件夹有一个蓝色图标,表示它是   导入为引用文件夹而不是符号组。

删除当前文件夹并将其再次添加为文件夹引用应该可以解决问题。

答案 1 :(得分:1)

XCode“认为”这是一个lex文件,并尝试通过调用lex来处理它。但是,lex发现并且报告不平衡,因此文件过早结束。

您应该尝试明确调用指定的工具。

答案 2 :(得分:0)

我遇到了这个问题,我发现将文件夹“tessdata”从语言zip复制到项目目录而不是Xcode修复了问题。