引自:
http://www.javaeye.com/topic/325075今天用codeblocks 写程序的时候发现编译器报错:
curses.h:没有该文件或目录
goolge一下,发现这篇文章
http://blog.chinaunix.net/u1/38038/showart_1201090.html
按照上面的描述,在包管理器中安装了libncurses5-dev(Developer's libraries and docs for ncurses) 便解决了问题。
这个时候不能使用codeblaocks的自带编译器,
因为lcurses.so,libcurse.a的库文件不在标准目录下,要gcc加上-lcurses进行编译
gcc screen1.c -o screen1 -lcurses
否则会出现undefined reference to `initscr'的编译器错误。
引用链接:
http://blog.chinaunix.net/u1/38038/showart_1201090.html 今天实验刚从服务器上迁移过来的维护的linux 9260的内核,使用make menuconfig时出错,报错为:
yongtao@yongtao-desktop:~/public/linux_release/linux-2.6.24$ make menuconfig
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
在包含自 scripts/kconfig/lxdialog/checklist.c:24 的文件中:
scripts/kconfig/lxdialog/dialog.h:32:20: 错误: curses.h:没有该文件或目录
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:97: 错误: expected specifier-qualifier-list before ‘chtype’
scripts/kconfig/lxdialog/dialog.h:187: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:194: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:196: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:197: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:198: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:199: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:201: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:31: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:59: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:95: 错误: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c: 在函数‘dialog_checklist’中:
scripts/kconfig/lxdialog/checklist.c:116: 错误: ‘WINDOW’未声明 (在此函数内第一 次使用)
scripts/kconfig/lxdialog/checklist.c:116: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
scripts/kconfig/lxdialog/checklist.c:116: 错误: 所在的函数内也只报告一次。)
scripts/kconfig/lxdialog/checklist.c:116: 错误: ‘dialog’未声明 (在此函数内第一 次使用)
scripts/kconfig/lxdialog/checklist.c:116: 错误: ‘list’未声明 (在此函数内第一次 使用)
scripts/kconfig/lxdialog/checklist.c:116: 警告: 逗号表达式的左操作数不起作用
scripts/kconfig/lxdialog/checklist.c:129: 警告: 隐式声明函数‘getmaxy’
scripts/kconfig/lxdialog/checklist.c:129: 错误: ‘stdscr’未声明 (在此函数内第一 次使用)
scripts/kconfig/lxdialog/checklist.c:130: 错误: ‘KEY_MAX’未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:131: 警告: 隐式声明函数‘getmaxx’
scripts/kconfig/lxdialog/checklist.c:137: 错误: ‘COLS’未声明 (在此函数内第一次 使用)
scripts/kconfig/lxdialog/checklist.c:138: 错误: ‘LINES’未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:140: 警告: 隐式声明函数‘draw_shadow’
scripts/kconfig/lxdialog/checklist.c:142: 警告: 隐式声明函数‘newwin’
scripts/kconfig/lxdialog/checklist.c:143: 警告: 隐式声明函数‘keypad’
scripts/kconfig/lxdialog/checklist.c:143: 错误: ‘TRUE’未声明 (在此函数内第一次 使用)
scripts/kconfig/lxdialog/checklist.c:145: 警告: 隐式声明函数‘draw_box’
scripts/kconfig/lxdialog/checklist.c:146: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:146: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:147: 警告: 隐式声明函数‘wattrset’
scripts/kconfig/lxdialog/checklist.c:147: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:148: 警告: 隐式声明函数‘mvwaddch’
scripts/kconfig/lxdialog/checklist.c:150: 警告: 隐式声明函数‘waddch’
scripts/kconfig/lxdialog/checklist.c:151: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:154: 警告: 隐式声明函数‘print_title’
scripts/kconfig/lxdialog/checklist.c:156: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:157: 警告: 隐式声明函数‘print_autowrap’
scripts/kconfig/lxdialog/checklist.c:164: 警告: 隐式声明函数‘subwin’
scripts/kconfig/lxdialog/checklist.c:171: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:171: 错误: ‘struct dialog_color’没有名为‘atr’的成员
scripts/kconfig/lxdialog/checklist.c:189: 警告: 隐式声明函数‘print_item’
scripts/kconfig/lxdialog/checklist.c:192: 警告: 隐式声明函数‘print_arrows’
scripts/kconfig/lxdialog/checklist.c:195: 警告: 隐式声明函数‘print_buttons’
scripts/kconfig/lxdialog/checklist.c:197: 警告: 隐式声明函数‘wnoutrefresh’
scripts/kconfig/lxdialog/checklist.c:199: 警告: 隐式声明函数‘doupdate’
scripts/kconfig/lxdialog/checklist.c:202: 警告: 隐式声明函数‘wgetch’
scripts/kconfig/lxdialog/checklist.c:210: 错误: ‘KEY_UP’未声明 (在此函数内第一 次使用)
scripts/kconfig/lxdialog/checklist.c:210: 错误: ‘KEY_DOWN’未声明 (在此函数内第 一次使用)
scripts/kconfig/lxdialog/checklist.c:220: 错误: ‘FALSE’未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:221: 警告: 隐式声明函数‘scrollok’
scripts/kconfig/lxdialog/checklist.c:222: 警告: 隐式声明函数‘wscrl’
scripts/kconfig/lxdialog/checklist.c:232: 警告: 隐式声明函数‘wrefresh’
scripts/kconfig/lxdialog/checklist.c:293: 警告: 隐式声明函数‘delwin’
scripts/kconfig/lxdialog/checklist.c:297: 错误: ‘KEY_LEFT’未声明 (在此函数内第 一次使用)
scripts/kconfig/lxdialog/checklist.c:298: 错误: ‘KEY_RIGHT’未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:310: 警告: 隐式声明函数‘on_key_esc’
scripts/kconfig/lxdialog/checklist.c:312: 错误: ‘KEY_RESIZE’未声明 (在此函数内 第一次使用)
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] 错误 1
make: *** [menuconfig] 错误 2
惊出一身冷汗,这个服务器已经被干掉了,重装了server 2003的,如果这个有问题,又有一段时间忙活了。后来仔细看了一下错误,原来是一个头文件没有找到,以前好像遇到过这个问题,是本机的编译环境有问题,查找了一下以前的笔记,在一张废纸上找到了两行:
build-seeential
libncurses5-dev
所以:apt-get install libcurses5-dev 就ok了
make xconfig
该配置方式依赖于qt,所以要安装qt的包
sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt
make gconfig
posted on 2010-03-01 23:36
deercoder 阅读(2713)
评论(0) 编辑 收藏 引用 所属分类:
Unix/Linux