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'
War es hilfreich?

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.

  1. 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.
  2. 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
scroll top