You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS设备加载Tesseract静态库遇架构兼容错误求助

iOS真机加载Tesseract静态库失败问题

尝试用多个在线构建脚本在iOS上构建Tesseract,模拟器运行正常,但真机加载静态库时触发错误,错误信息如下:

dlopen(/var/containers/Bundle/Application/A2DE6EFD-1E15-4573-8110-E941FC1F0A83/Ocr.Demo.app/runtimes/ios-arm64/native/Ocr.xcframework/liblept-5.a, 0x0002): '/private/var/containers/Bundle/Application/A2DE6EFD-1E15-4573-8110-E941FC1F0A83/IronOcr.Demo.app/runtimes/ios-arm64/native/Ocr.xcframework/liblept-5.a' (file does not start with MH_MAGIC[_64], fat file, but missing compatible architecture (have 'arm64', need 'arm64e' or 'arm64'))

通过MAUI(C#代码库)加载该库,但问题应该和C#无关。奇怪的是,用lipo(Xcode工具链版本,含xcrun调用)生成的二进制文件始终带有0xCAFEBABE头,而非MH_MAGIC[_64]对应的0xFEEDFACF头。想知道能否强制lipo添加0xFEEDFACF头,或是它应该根据内容自动处理?

尝试过的Tesseract构建项目:

  • Akylas/TesseractBuild(最近有提交,推荐优先尝试):运行脚本后所有二进制文件带0xCAFEBABE头
  • hexdreamer/tesseract-build:运行脚本后所有二进制文件带0xCAFEBABE头
  • tesseract-ocr/tesseract issue#4093评论方案:添加src/build目录,运行autoconfigure后执行脚本,生成的二进制文件带0xCAFEBABE头
  • gali8/Tesseract-OCR-iOS:TesseractOCR/lib下所有二进制文件带0xCAFEBABE头

使用Xcode 14.3工具链构建(Xcode 15编译失败),可通过xcode-select切换不同版本的Xcode命令行工具。在Intel iMac和M2 MacBook上构建均得到相同结果。

另外,当前错误可能只是表象,存在未发现的真正导致二进制文件无法加载的问题。


内容的提问来源于stack exchange,提问作者Wolfgang Schreurs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:52:42