无法找到curses.h文件

11

我有一个名为samtools(版本1.3)的程序,用于处理从DNA测序实验中得到的文件。

下载的程序包含在一个文件夹中。为了设置程序,我在终端上进入该文件夹(在ubuntu计算机上)。我输入命令“make”。

它会运行并输出其操作,但会以错误信息终止:

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

我的初步反应(在搜索了互联网后)是 curses 没有安装好,我试图使用sudo来解决这个问题(但显然我的用户不在sudoers列表中)。
因此,我尝试查看curses是否已经安装好,在参考了互联网之后,我尝试了以下命令:
ldconfig -p | grep ncurses

这段代码的输出结果为:

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

我安装了curses。但是我不知道发生了什么事情。至少这应该意味着curses已经存在了,对吗?我在使用Ubuntu或C程序方面并不很有经验(我以前学过一门较小的C课程,并且虽然我经常使用Linux电脑,但我大多数时候都是使用终端进行导航)。
需要帮助,感谢!
3个回答

19

仅仅

sudo apt-get install libncurses-dev

对我有用。


1
在Alpine上执行apk add ncurses-dev - Bernardo Ramos

7

ncurses是用于编写基于终端的应用程序的库。Ubuntu用户(16.04.1-Ubuntu)应安装“libncurses5-dev”和“libncursesw5-dev”软件包:

sudo apt-get install libncurses5-dev libncursesw5-dev

1
在Ubuntu 19.04中只需安装libncurses-dev即可。 - TheBamf

2
大多数Linux发行版将像curses.h这样的头文件放在单独的软件包中,因为它们仅用于编译。这样可以节省空间,对于那些永远不需要它们的95%用户来说。
我不使用Ubuntu,但通常这些软件包带有-dev-devel后缀。您可以通过软件包管理器轻松找到它们。安装头文件后,编译应该可以进行,您可能需要为其他软件包安装头文件,因此请仔细查看输出。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接