日期:2014-05-16  浏览次数:21031 次

如何解决 curses.h:No such file or directory
我是这样编译的然后报错
cc cursers.c -lcurses -ltermlib 
错误如下:
cursers.c:2:21: 错误: curses.h:No such file or directory
cursers.c: 在函数 ‘main’ 中:
cursers.c:18: 错误: ‘stdscr’ 未声明 (在此函数内第一次使用)
cursers.c:18: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
cursers.c:18: 错误: 所在的函数内只报告一次。)
cursers.c:21: 错误: ‘A_REVERSE’ 未声明 (在此函数内第一次使用)
cursers.c:37: 错误: ‘KEY_UP’ 未声明 (在此函数内第一次使用)
cursers.c:40: 错误: ‘KEY_DOWN’ 未声明 (在此函数内第一次使用)
cursers.c:43: 错误: ‘KEY_RIGHT’ 未声明 (在此函数内第一次使用)
cursers.c:46: 错误: ‘KEY_LEFT’ 未声明 (在此函数内第一次使用)
cursers.c:66: 警告: 隐式声明与内建函数 ‘exit’ 不兼容
cursers.c: 在函数 ‘initial’ 中:
cursers.c:89: 错误: ‘stdscr’ 未声明 (在此函数内第一次使用)
cursers.c:89: 错误: ‘FALSE’ 未声明 (在此函数内第一次使用)
cursers.c:90: 错误: ‘TRUE’ 未声明 (在此函数内第一次使用)

这个错误应该是找不的函数库 curses.h,
我是在ubuntu 7.04版本编译的,清大家看看如何解决,谢谢!


------解决方案--------------------
楼上说的极是
------解决方案--------------------
安装 Ncurses 
1.准备编译 Ncurses : 
./configure --prefix=/usr --with-shared --without-debug

2.编译软件包:
make
这个软件包没有附带测试程序。

3.安装软件包:
make install

4.赋予 ncurses 库文件可执行权限: 
chmod -v 755 /usr/lib/*.5.4

5.修正一个不应该有可执行权限的库文件: 
chmod -v 644 /usr/lib/libncurses++.a

6.把库文件移到更合理的 /lib 目录里: 
mv -v /usr/lib/libncurses.so.5* /lib

7.由于库文件移动了,所以有的符号链接就指向了不存在的文件。需要重新创建这些符号链接: 
ln -sfv ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sfv libncurses.so /usr/lib/libcurses.so
------解决方案--------------------
: 有几个软件包无法下载,您可以运行 apt-get update 或者加上 --fix-missing 的选项再试试? 
wubo@wubo-laptop:~$ apt-get update 
E: 无法打开锁文件 /var/lib/apt/lists/lock - open (13 Permission denied) 
E: 无法对状态列表目录加锁
------解决方案--------------------
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libncurses5-dev libncursesw5-dev
这样下来就可以了。