为什么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中使用库涉及两个步骤。

  1. #include源文件中的相关头文件。 这样您的代码就知道库函数的签名是什么。 所以你正确地做到了这一点。
  2. 编译代码时,需要告诉链接器链接到相关库,以便找到这些函数的定义。 这就是你没有做的事情 。 假设您正在使用gcc,那么将-lncurses添加到编译行应该这样做。 这是链接的解释 。