mac m1 tesseract报错(have (arm64), need (x86_64)

(M1型号机器)问题复原:

1.安装方式

使用 brew install tesseract安装
(非M1芯片 执行此命令后,运行项目 缺什么包 用brew install 安装就行 比如brew install openpng

2.M1芯片排除问题后启动项目会报错

java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract': Native library (darwin/libtesseract.dylib) 

网上一顿搜,各种方式,解决了好久,copy libtesseract.dylib后报如下错误

java.lang.UnsatisfiedLinkError: dlopen(/Users/wsq/Library/Caches/JNA/temp/jna260964831976543606.tmp, 0x0009): tried: '/Users/wsq/Library/Caches/JNA/temp/jna260964831976543606.tmp' (mach-o file, but is an incompatible architecture (have (arm64), need (x86_64)))

	at com.sun.jna.Native.open(Native Method)
	at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277)
	at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:461)
	at com.sun.jna.Library$Handler.<init>(Library.java:192)
	at com.sun.jna.Native.loadLibrary(Native.java:672)
	at com.sun.jna.Native.loadLibrary(Native.java:656)
	at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:85)
	at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
	at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:444)
	at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:328)
	at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:311)
	at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:292)
	at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:276)

根本原因
芯片不同 架构不同,net.sourceforge.tess4j.Tesseract pom jar调用的是x86架构native接口,找到m1芯片适配的pom jar包, 只能将tesseract重新安装成X86架构

**

终极安装命令如下:

**

arch -x86_64 /usr/local/Homebrew/bin/brew install tesseract
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: xcode在加载tesseractocr时出现无法加载语言'chi_sim'的错误。 'chi_sim'代表简体中文语言包。这个错误通常是因为缺少相关的语言包或者语言包文件路径设置错误所致。 解决这个问题的方法是: 1. 确保已经正确安装了tesseractocr库和相关的依赖。可以通过在终端中运行命令`brew install tesseract`来安装。 2. 检查是否存在中文语言包文件。中文语言包文件通常以'.traineddata'为扩展名。可以在tesseractocr的GitHub仓库(https://github.com/tesseract-ocr/tessdata)上下载中文语言包,并将其放置在正确的文件路径中。 3. 确认xcode的工程配置中已正确设置了语言包文件路径。可以在xcode的工程设置中找到'Build Phases',然后在'Copy Bundle Resources'部分查看是否包含了中文语言包文件。 4. 如果你是在模拟器上运行应用程序,那么确保模拟器的系统语言设置为中文。可以在模拟器的设置中找到'General'->'Language & Region',将语言设置为中文。 通过以上方法,你应该能够解决xcode加载'tesseractocr'时出现加载语言'chi_sim'失败的问题,使其能够正确识别中文文本。 ### 回答2: xcode tesseractocr加载语言'chi_sim'失败的原因可能有以下几种: 1. 语言包未正确安装:在使用tesseractocr识别中文时,需要安装中文语言包。首先,需要确保在Xcode的构建阶段之前已将chi_sim的语言包正确地导入到项目中。可以在tesseract官方网站或Github上下载相应的语言包,然后将其添加到项目的资源文件夹中。在将其添加到项目中后,还需要确保在Xcode项目设置中将其包含在构建阶段中。 2. 语言包版本不兼容:tesseractocr可能会有不同的版本,而语言包也有对应的版本要求。如果你的Xcode项目使用的是较老版本的tesseractocr,而你下载的chi_sim语言包是新版本的,可能会导致加载失败。在这种情况下,你需要确保相应版本的语言包与tesseractocr版本兼容,可以考虑尝试下载更早或更匹配的语言包。 3. 语言包路径配置错误:另一个可能的问题是,项目中指定的语言包路径不正确。在使用tesseractocr时,需要在代码中指定正确的语言包路径。可以通过获取文件的绝对路径,将其传递给tesseractocr来加载语言包。确保路径是正确的,语言包文件在项目中可访问。 综上所述,当出现"Xcode tesseractocr加载语言'chi_sim'失败"的错误时,需要检查语言包的安装、版本兼容性以及语言包路径配置等问题。 ### 回答3: Xcode在加载"chi_sim"语言时出现了失败的情况。TesseractOCR是一个非常流行的开源OCR(光学字符识别)引擎,能够将图像中的文字转换为可编辑的文本。它支持多种语言,并且可以方便地在Xcode中集成。 当出现这个错误时,可能有几个原因导致: 1. 找不到"chi_sim"语言文件:TesseractOCR需要加载对应的语言数据文件才能识别该语言的字符。如果在Xcode项目中没有包含"chi_sim"语言文件或文件路径不正确,就会出现此错误。需要确认是否正确安装了"chi_sim"语言文件并正确设置了其文件路径。 2. 语言文件版本不兼容:TesseractOCR的版本与语言文件的版本可能不兼容,这可能导致加载失败。需要确认使用的是相互兼容的版本。 3. 编译配置问题:在Xcode项目中,需要正确配置TesseractOCR的编译选项和链接库,以便正确加载语言文件。检查项目的相关配置是否正确设置。 要解决这个问题,可以按照以下步骤进行: 1. 检查"chi_sim"语言文件是否正确安装和设置了正确的文件路径。可以重新下载并安装最新的TesseractOCR语言文件。 2. 确认使用的TesseractOCR和语言文件的版本是否相互兼容。尝试使用相同版本的TesseractOCR和语言文件进行测试。 3. 检查项目设置,确保已正确配置TesseractOCR的编译选项和链接库。可以参考TesseractOCR的官方文档或相关教程进行设置。 总结来说,Xcode在加载"chi_sim"语言时失败,可能是由于缺少语言文件、版本不兼容或编译配置问题所致。通过检查和修复这些可能的问题,可以解决此错误并成功加载"chi_sim"语言

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值