Pergunta

Tentando obter getch () trabalhando para pressione a tecla de captura.

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

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

está me dando seguinte erro: -

undefined reference to `wgetch'
undefined reference to `stdscr'
Foi útil?

Solução

Isso é um erro de ligação. Você está ligando para a biblioteca maldições corretamente?

Existem dois passos envolvidos no uso de uma biblioteca em C.

  1. Você #include os arquivos de cabeçalho relevantes de seus arquivos de origem. Isto é assim o seu código sabe o que assinaturas da biblioteca funções são. Então você está fazendo isso corretamente.
  2. Ao compilar seu código, você precisa dizer o vinculador para link para as bibliotecas relevantes, para que ele possa encontrar a definição dessas funções. Isto é o que você não está fazendo . Supondo que você está usando gcc, em seguida, adicionando -lncurses à linha de compilação deve fazê-lo. Aqui está um explicação de ligar .
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top