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

在WASM项目中安装Leptess时tesseract-sys v0.5.7构建报错如何解决

问题根因

你遇到的如下报错:

failed to run custom build command for tesseract-sys v0.5.7

来源于两个核心限制:

  • tesseract-sys v0.5.7默认依赖本地原生的Tesseract、Leptonica C库,构建时会调用pkg-config查找依赖路径,找不到对应库就会触发构建失败
  • 官方发布的tesseract-sys v0.5.7未适配wasm32-unknown-unknown目标平台,原生C代码无法直接编译为WebAssembly字节码
解决步骤

1. 配置MacOS本地原生依赖(仅用于非wasm目标编译)

如果需要在本地运行非wasm版本的程序,先安装系统依赖:

  • 执行命令安装依赖包:brew install tesseract leptonica pkg-config
  • 安装完成后执行pkg-config --libs tesseract leptonica,无报错则原生依赖配置完成

2. 适配wasm32-unknown-unknown目标平台

官方版本的tesseract-sys不支持wasm编译,需要替换为适配版本,调整Cargo.toml配置即可:

  • 在Cargo.toml中添加[patch.crates-io]配置段,使用社区已适配wasm的tesseract-sys版本覆盖官方依赖
  • 修改leptess依赖配置,关闭默认特性,启用wasm支持:
leptess = { version = "0.14.0", default-features = false, features = ["wasm"] }
  • 执行编译命令:cargo build --target wasm32-unknown-unknown
注意事项
  • 编译wasm版本时无需提前安装本地tesseract、leptonica依赖,适配后的tesseract-sys会自动将C库代码编译为wasm字节码
  • 若编译时出现内存溢出报错,可在编译命令前添加环境变量调整wasm最大内存限制:RUSTFLAGS="-C link-arg=--max-memory=67108864" cargo build --target wasm32-unknown-unknown

内容的提问来源于stack exchange,提问作者Bart Krakowski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:54:04