Porque é que maldições sobre linux me dando seguinte erro?
-
19-09-2019 - |
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'
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.
- 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. - 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