Domanda

Cercando di ottenere getch () che lavorano per catturare premere il tasto.

    #include <curses.h>
    ...
    ...
    WINDOW *w;
    char f;

   w = initscr();
   timeout(3000);
   f = getch();
   endwin();

mi sta dando seguente errore: -

undefined reference to `wgetch'
undefined reference to `stdscr'
È stato utile?

Soluzione

Questo è un errore di collegamento. Stai collegamento alla libreria maledizioni correttamente?

Ci sono due passaggi necessari per utilizzare una libreria in C.

  1. #include i file header rilevanti dai file di origine. Questo è così il codice sa che cosa le firme delle funzioni di libreria sono. Così si sta facendo questo in modo corretto.
  2. Quando si compila il codice, è necessario dire al linker di collegare alle biblioteche interessate, in modo che possa trovare la definizione di tali funzioni. Questo è quello che non stai facendo . Supponendo che si sta utilizzando gcc quindi aggiungendo -lncurses alla linea di compilazione dovrebbe farlo. Ecco una spiegazione di collegare .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top