Ncurses

luca981
ho installato i pachetti :
build-essential
libncurses5
libncurses5-dev

questo e il programma di prova per verificare se funziona:
#include <ncurses.h>

int main()
{
        initscr();
        mvprintw(0, 0,"Nord-ovest");
        mvprintw(LINES-1, 0,"Sud-ovest");
        mvprintw(0, COLS-8,"Nord-est");
        mvprintw(LINES-1, COLS-7,"Sud-est");
mvprintw(2, 21, "Ciao, Luca! Questa e' una finestra!");
mvprintw(3, 10, "Naturalmente si tratte di una cosa a livello embrionale!");
mvprintw(6, 16, "Tu prova ugualmente a fare qualche modifica!");
mvprintw(10, 35, "C I A O!");
        refresh();
        getch();
        endwin();
        return 0;
}

e questo e l'errore che mi da :

/tmp/ccuokJf3.o: In function `main':
finestre.c:(.text+0x12): undefined reference to initscr'
finestre.c:(.text+0x2e): undefined reference to mvprintw'
finestre.c:(.text+0x33): undefined reference to LINES'
finestre.c:(.text+0x4e): undefined reference to mvprintw'
finestre.c:(.text+0x53): undefined reference to COLS'
finestre.c:(.text+0x6e): undefined reference to mvprintw'
finestre.c:(.text+0x73): undefined reference to COLS'
finestre.c:(.text+0x7b): undefined reference to LINES'
finestre.c:(.text+0x92): undefined reference to mvprintw'
finestre.c:(.text+0xae): undefined reference to mvprintw'
finestre.c:(.text+0xca): undefined reference to mvprintw'
finestre.c:(.text+0xe6): undefined reference to mvprintw'
finestre.c:(.text+0x102): undefined reference to mvprintw'
finestre.c:(.text+0x107): undefined reference to stdscr'
finestre.c:(.text+0x10f): undefined reference to wrefresh'
finestre.c:(.text+0x114): undefined reference to stdscr'
finestre.c:(.text+0x11c): undefined reference to wgetch'
finestre.c:(.text+0x121): undefined reference to endwin'
collect2: ld returned 1 exit status
luca@luca-desktop:~/Scrivania/esercizi/finestre$


non riesco a capire che altri pachetti devo installare .
o se sto sbagliando qualcosa ?
grazie per le risposte .

Risposte
anonymous_be1147
Sembrerebbe un problema del linker. Gli hai passato il parametro -lncurses (meno elle...)?

luca981
no . non gli ho passato niente !!

devo fare cosi ?

luca@luca-desktop:~/Scrivania/esercizi/finestre\$ gcc finestre.c -lncurses

ma cosa serve -lncurses ?

anonymous_be1147
Sì, meglio però mettere -lncurses prima del nome del file. Questa opzione avvisa il linker che deve aggiungere la libreria ncurser a quelle in cui cercare il codice oggetto delle funzioni, etc, usate nel programma.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.