使找不到curses.h

Gau*_*sia 7 curses ubuntu samtools

我有一个名为 samtools(1.3 版)的程序,用于操作您从 DNA 测序实验中获得的文件。

下载的程序包含在一个文件夹中。为了设置程序,我在终端(在 ubuntu 计算机上)输入该文件夹。我输入突击队“制造”。

它运行打印它所做的事情,但以错误消息终止:

bam_tview_curses.o bam_tview_curses.c
bam_tview_curses.c:41:20: fatal error: curses.h: No such file or directory
 #include <curses.h>
                    ^
compilation terminated.
make: *** [bam_tview_curses.o] Error 1
Run Code Online (Sandbox Code Playgroud)

我最初的反应(在互联网上搜索后)是没有安装 curses,我尝试使用 sudo 来解决这个问题(显然我的用户不在 sudoers 列表中。

所以我试着看看curses是否已经安装,在查阅互联网后我尝试了

ldconfig -p | grep ncurses
Run Code Online (Sandbox Code Playgroud)

这给出了输出:

libncursesw.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.5
libncurses.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncurses.so.5
Run Code Online (Sandbox Code Playgroud)

我认为这是因为安装了诅咒。但这让我不知所措。但这至少应该意味着存在诅咒,对吗?我在使用 ubuntu 或 C 程序方面不是很有经验(很久以前我在 C 方面上了一个较小的课程,虽然我已经使用了相当多的 linux 计算机,但我主要使用终端进行导航)

乐于助人!

小智 15

只要

sudo apt-get install libncurses-dev
Run Code Online (Sandbox Code Playgroud)

为我工作。


nix*_*nix 7

ncurses 是一个用于对基于终端的应用程序进行编程的库。Ubuntu 用户 (16.04.1-Ubuntu) 应该安装“ libncurses5-dev ”和“ libncursesw5-dev ”包:

sudo apt-get install libncurses5-dev libncursesw5-dev
Run Code Online (Sandbox Code Playgroud)


Eri*_*erg 2

大多数 Linux 发行版都有头文件,就像curses.h在单独的包中一样,因为它们仅在编译时需要。为 95% 永远不需要它们的用户节省一些空间。

我不使用 Ubuntu,但通常这些软件包都用-dev-devel后缀表示。通过你的包管理器应该很容易找到。安装头文件后,编译应该继续,您可能需要安装其他包的头文件,因此请仔细查看输出。