Linux Unix C 中的curses库——curses.h


打算在Linux下用curses.h写一个图形界面,结果发现

hello.c:1: fatal error: curses.h: No such file or directory

上网搜索了一下,才发现是少安装了curses库

于是在新得立查找libncurses5-dev,点击应用

写了一个小程序

#include <curses.h>

int main()
{
    initscr();

    clear();
    move(10, 20);
    addstr("Hello world");   
    move(LINES-1, 0);
    refresh();
    getch();
    endwin();

    return 0;
}

在终端输入

gcc -o hello hello.c  -Incurses

发现如下错误

/tmp/ccsmlmYV.o: In function `main':
hello.c:(.text+0xa): undefined reference to `initscr'
hello.c:(.text+0xf): undefined reference to `stdscr'
hello.c:(.text+0x17): undefined reference to `wclear'
hello.c:(.text+0x1c): undefined reference to `stdscr'
hello.c:(.text+0x34): undefined reference to `wmove'
hello.c:(.text+0x39): undefined reference to `stdscr'
hello.c:(.text+0x51): undefined reference to `waddnstr'
hello.c:(.text+0x56): undefined reference to `LINES'
hello.c:(.text+0x5e): undefined reference to `stdscr'
hello.c:(.text+0x72): undefined reference to `wmove'
hello.c:(.text+0x77): undefined reference to `stdscr'
hello.c:(.text+0x7f): undefined reference to `wrefresh'
hello.c:(.text+0x84): undefined reference to `stdscr'
hello.c:(.text+0x8c): undefined reference to `wgetch'
hello.c:(.text+0x91): undefined reference to `endwin'
collect2: ld returned 1 exit status
在终端输入

gcc hello.c -o hello -I/usr/include -L/usr/lib -lncurses

编译成功!

相关内容