Sono in esecuzione su Ubuntu 12.04 e attualmente sto lavorando a un progetto che coinvolge C, OpenGL, una teiera e metodi di input.gcc/usr/bin/ld: errore: impossibile trovare -lncurses
Il problema è iniziato quando ho deciso di inserire i tasti freccia. Ho controllato per vedere i codici chiave per i tasti freccia, ma tutte le frecce restituiscono 0. Ho cercato come farlo funzionare e ho trovato conio.h. Sfortunatamente, è una vecchia intestazione DOS che non è disponibile per Linux. Poi ho trovato un sostituto chiamato ncurses.
Dopo aver installato le librerie necessarie, seguendo attentamente le istruzioni di compilazione, ho incluso # curses.h nella mia fonte main.c. Quando ho provato prima a compilare con gcc, ho ottenuto i seguenti errori:
main.o:main.c:function _Key: error: undefined reference to 'stdscr'
main.o:main.c:function _Key: error: undefined reference to 'wgetch'
main.o:main.c:function _Key: error: undefined reference to 'stdscr'
main.o:main.c:function _Key: error: undefined reference to 'wgetch'
ho trovato una soluzione con l'aggiunta -lncurses al makefile in questo modo:
SOURCES=main.c
main: main.o
gcc -lm -lGL -lGLU -lglut -lncurses main.o -o main
main.o: main.c
gcc -lm -lGL -lGLU -lglut -c main.c
Ma sono stato accolto da un altro errore :
/usr/bin/ld: error: cannot find -lncurses
Così come gli errori precedenti.
Ho passato gli ultimi 2 giorni a cercare sia nei forum di Ubuntu che in StackOverFlow. Qualsiasi aiuto sarebbe apprezzato.
P.S. Non so se questo è importante, ma quando si tenta di eseguire/usr/bin/ld ottengo questo errore:
ld: fatal error: no input files
'apt-get install libncurses5-dev'? – trojanfoe
perché questi commenti devono essere così piccoli -_- Non ho visto il tuo commento prima ma quella era la soluzione. Non so perché, ma sembra che ho installato una sorta di versione non ufficiale che il compilatore non ha riconosciuto. Grazie a tutti! – Yrrej10