Pourquoi les malédictions sur Linux me donnent-elles l’erreur suivante?

Essayer de faire travailler getch () pour capturer une touche.

#include  ... ... WINDOW *w; char f; w = initscr(); timeout(3000); f = getch(); endwin(); 

me donne l’erreur suivante: –

 undefined reference to `wgetch' undefined reference to `stdscr' 

C’est une erreur de lien. Liez-vous correctement à la bibliothèque curses?

L’utilisation d’une bibliothèque en langage C implique deux étapes.

  1. Vous #include les fichiers d’en-tête pertinents à partir de vos fichiers source. Ceci afin que votre code sache quelles sont les signatures des fonctions de la bibliothèque. Donc, vous le faites correctement.
  2. Lors de la compilation de votre code, vous devez indiquer à l’éditeur de liens de créer des liens vers les bibliothèques appropriées, afin qu’il puisse trouver la définition de ces fonctions. C’est ce que tu ne fais pas . En supposant que vous utilisiez gcc, ajoutez -lncurses à la ligne de compilation devrait le faire. Voici une explication de la liaison .