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

macOS Sonoma下Go1.22用gosseract提示lept库未找到求助

解决macOS Sonoma + Go 1.22下gosseract链接leptonica失败的问题

问题原因

Homebrew最新版本的leptonica(1.84.1)不再提供liblept的符号链接,仅保留libleptonica命名的库文件,但gosseract的CGO配置仍硬编码使用-llept作为链接参数,导致链接器无法找到对应库。

解决方案

1. 临时编译/运行时指定链接参数

在执行go run或go build时,通过CGO_LDFLAGS环境变量指定正确的库名和Homebrew库路径:

# ARM64架构(M系列芯片)
CGO_LDFLAGS="-L/opt/homebrew/lib -lleptonica -ltesseract" go run main.go

# 若为x86_64架构,替换路径为/usr/local/lib
CGO_LDFLAGS="-L/usr/local/lib -lleptonica -ltesseract" go run main.go

2. 永久修改gosseract的CGO配置

如果不想每次编译都添加环境变量,可修改gosseract的源码配置:

  • 首先找到gosseract的本地安装目录:
    go list -f '{{.Dir}}' github.com/otiai10/gosseract
    
  • 进入该目录,找到包含CGO链接参数的文件(通常是cgo.go或根目录下的go文件),将其中的-llept替换为-lleptonica
  • 重新编译依赖即可正常使用

3. 验证库路径正确性

确保Homebrew的库目录在链接器搜索路径中,可通过以下命令检查:

# ARM64
ls /opt/homebrew/lib/libleptonica*.dylib

# x86_64
ls /usr/local/lib/libleptonica*.dylib

若存在对应文件,说明库安装正常,只需调整链接参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:06:09