Warum ist Flüche auf Linux gibt mir folgende Fehlermeldung?
-
19-09-2019 - |
Frage
Der Versuch, getch () arbeiten Aufnahmetaste drücken zu erhalten.
#include <curses.h>
...
...
WINDOW *w;
char f;
w = initscr();
timeout(3000);
f = getch();
endwin();
gibt mir folgende Fehlermeldung: -
undefined reference to `wgetch'
undefined reference to `stdscr'
Lösung
Das ist ein Verknüpfungsfehler. Verknüpfen Sie die Flüche Bibliothek korrekt?
Es gibt zwei Schritte bei der Verwendung einer Bibliothek in C beteiligt.
- Sie
#include
die entsprechenden Header-Dateien aus der Quelldatei. Dies ist so, Ihr Code weiß, was aus der Bibliothek Signaturen Funktionen sind. So Sie dies richtig tun. - Wenn Sie den Code kompiliert, müssen Sie den Linker zu Link zu den entsprechenden Bibliotheken sagen, so kann es die Definition dieser Funktionen. Das ist, was Sie nicht tun . Angenommen, Sie sind mit gcc dann Zugabe
-lncurses
zum Kompilieren Linie sollte es tun. Hier ist eine Erklärung verbinden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow