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

编译使用ncurses的文件报错找不到-ltinfo该如何处理

编译ncurses项目报错Cannot find -ltinfo解决方案
  • 首先确认对应架构依赖安装完整
    • Debian/Ubuntu 系列发行版执行:sudo apt install libtinfo-dev libncurses-dev,如果是32位、ARM等非默认x86_64架构,需额外安装对应架构的依赖包,比如ARMhf架构加后缀:armhf,完整命令为sudo apt install libtinfo-dev:armhf libncurses-dev:armhf
    • RHEL/CentOS/Fedora 系列发行版执行:sudo dnf install ncurses-devel
  • 检查libtinfo库文件是否存在
    执行命令搜索库文件:find /usr/lib* -name "libtinfo*",正常输出应包含libtinfo.so、带版本号的libtinfo.so.x两类文件
    • 如果仅存在带版本号的so文件,缺少无版本后缀的.so链接文件,手动创建软链接即可,示例:
      假设搜索到的文件为/usr/lib/arm-linux-gnueabihf/libtinfo.so.6,执行命令:sudo ln -s /usr/lib/arm-linux-gnueabihf/libtinfo.so.6 /usr/lib/arm-linux-gnueabihf/libtinfo.so
  • 调整编译链接参数
    以上步骤完成后仍报错的话,修改编译命令:
    • 可以将-ltinfo替换为-lncurses,或者同时保留两个链接参数,示例:
      gcc 你的源码文件.c -o 输出文件名 -lncurses -ltinfo
    • 也可以在执行configure、make前先导入架构对应的库路径变量,示例(Debian/Ubuntu系):
      export LDFLAGS="-L/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
  • 特殊架构适配
    如果是32位ARM等交叉编译场景,必须确认所有依赖库都是对应目标架构编译的,不能混用主机x86架构的库文件,编译前可指定对应架构的pkgconfig路径,示例:
    export PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 08:54:02