简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🍉🍉🍉文章目录🍉🍉🍉
- 🌻1.前言
- 🌻3.libncurses.so.5与libtinfo.so.5动态库介绍
- 🌻3.编译报错:
- 🌻4.解决方案
- 🐓4.1 方案一
- 🐓4.2 方案二
🌻1.前言
本篇目的:Android14之解决报错:libncurses.so.5与libtinfo.so.5缺少问题
🌻3.libncurses.so.5与libtinfo.so.5动态库介绍
- 在Linux系统中,
libncurses.so.5
和libtinfo.so.5
是与终端处理相关的动态链接库。以下是这两个库的作用介绍:
- libncurses.so.5
libncurses.so.5
是ncurses库的一个版本。ncurses是一个程序库,它提供了在类UNIX系统上构建文本用户界面(TUI)的功能。这个库继承自最初的curses库,并添加了新的功能。- ncurses库用于在终端中创建窗口、屏幕定位、字符处理以及屏幕刷新等功能。这些功能对于开发如文本界面游戏、终端用户界面和屏幕绘图程序等应用至关重要。
libncurses.so.5
提供了ANSI C标准库中curses功能的扩展,包括更易于使用的API和更好的 Portability。
- libtinfo.so.5
libtinfo.so.5
是tinfo库的一个版本。tinfo是ncurses的一个后续版本,它是对ncurses 5.2的改进,提供了对更现代系统的支持。- tinfo库包含了ncurses库的所有功能,并对其进行了改进,例如改善了对terminfo数据库的支持。terminfo是一个包含终端特性信息的数据库,应用程序使用这些信息来正确地控制终端的行为。
libtinfo.so.5
同样提供了在终端中创建和管理文本用户界面的功能,并且它通常被认为是ncurses库的一个升级版本。
在Linux系统中,这两个库通常会共同存在,因为现代应用程序可能同时需要ncurses和tinfo提供的功能。当你在编程时,如果需要使用终端相关的功能,你可能需要链接到这些库。在编译程序时,通常会使用如下命令来链接这些库:
gcc -o my_program my_program.c -lncurses
或者,如果你使用的是tinfo库:
gcc -o my_program my_program.c -ltinfo
- 需要注意的是,随着Linux系统的不断演进,软件包管理和库的版本也可能发生变化,所以具体的链接命令可能因系统而异。
🌻3.编译报错:
- prebuilts/clang/host/linux-x86/clang-3289846/bin/clang.real: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
- ninja failed with: exit status
🌻4.解决方案
🐓4.1 方案一
# sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/libncurses.so.5
# sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/libtinfo.so.5
🐓4.2 方案二
# sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5
# sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5