为什么linux上的curses会让我出现以下错误?
试图让getch()努力捕获按键。
#include ... ... WINDOW *w; char f; w = initscr(); timeout(3000); f = getch(); endwin();
给我以下错误: –
undefined reference to `wgetch' undefined reference to `stdscr'
这是一个链接错误。 您是否正确链接到curses库?
在C中使用库涉及两个步骤。
- 您
#include
源文件中的相关头文件。 这样您的代码就知道库函数的签名是什么。 所以你正确地做到了这一点。 - 编译代码时,需要告诉链接器链接到相关库,以便找到这些函数的定义。 这就是你没有做的事情 。 假设您正在使用gcc,那么将
-lncurses
添加到编译行应该这样做。 这是链接的解释 。