Perché è maledizioni su Linux dandomi seguente errore?
-
19-09-2019 - |
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'
Soluzione
Questo è un errore di collegamento. Stai collegamento alla libreria maledizioni correttamente?
Ci sono due passaggi necessari per utilizzare una libreria in C.
-
#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. - 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