Почему ругательства на Linux дают мне следующую ошибку?

Попытка заставить getch () работать, чтобы захватить нажатие клавиши.

    #include 
    ...
    ...
    WINDOW *w;
    char f;

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

дает мне следующую ошибку: -

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

Ответы на вопрос(1)

Решение Вопроса

Есть два этапа использования библиотеки в C.

Вы#include соответствующие заголовочные файлы из ваших исходных файлов. Это значит, что ваш код знает, что представляют собой сигнатуры библиотечных функций. Так что вы'делаю это правильно.При компиляции вашего кода вы должны указать компоновщику ссылаться на соответствующие библиотеки, чтобы он мог найти определение этих функций.Это то, что тыне делать, Предполагая, что выВы используете gcc, а затем добавляете-lncurses чтобы строка компиляции должна была это сделать. Вот'собъяснение ссылки.
 Alex Xander03 окт. 2009 г., 12:38
да, я включил curses.h, а также ncurses.h
 aJ.03 окт. 2009 г., 12:39
ссылка на curses с использованием опции -lncurses
 Basile Starynkevitch01 нояб. 2017 г., 18:44
FWIW, в ноябре 2017 года лучше использоватьpkg-config, увидетьэтот ответ на очень похожий вопрос.

Ваш ответ на вопрос