|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
KDevelop e ncurses
Premetto che so MOLTO poco di programmazione in linux, ma avevo bisogno di fare un programma partendo da uno per terminale win, e mi servivano delle funzione che sostituiserro quelle di conio.h, cioè le ncurses.
Il problema viene se compilo il programma fatto con kdevelop, mi dà questo errore: /home/silver/Documents/ndama/src/ndama.c:32: undefined reference to `initscr' ndama.o(.text+0x1d):/home/silver/Documents/ndama/src/ndama.c:34: undefined reference to `printw' Ho aggiunto l'opzione -lncurses al compilatore, quindi me lo dovrebbe compilare (ovviamente ho aggiunto anche il .h); infatti se lo compilo con gcc ndama.c -o ndama -lncurses me lo compila e va bene!!! Come posso risovere |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Se hai già trovato la soluzione, quale è il problema?
Sposto in programmazione
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
@ ilsensine: ti chiedo scusa se ho postato nella sezione sbagliata, me non ero sicuro dove andava
Il problema è che il programma richiede diversi file e non ho la minima idea su come si usino configure e make da linea di comando, per quello usavo kdevelop |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Cioè: tu vuoi che il pacchetto generato da kdevelop ti inserisca automaticamente "-lncurses"?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Purtroppo non riesco neanche a compilarlo, nonostane abbia messo l'opzione -lncurses nel progetto in kdevelop
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Fai un passo indietro e rispiegami il problema, che mi sono confuso...
Devi convertire un programma che usava la conio, e pensavi di usare le ncurses...ok? Ok. Le ncurses sono molto diverse (e più complesse/complete) delle conio; hai riscritto le parti interessate o ti sei limitato a sotituire <conio.h> con <ncurses.h>?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
So che le ncurses sono più complesse e complete ( e infatti prima mi sono un pò documentato
Purtroppo non so dove mettere le mani in kdevelop, per questo ho postato. edit: dove posso trovare un elenco chiaro e leggibile di tutte le funzioni presenti nelle ncurses? Ultima modifica di SilverXXX : 24-11-2004 alle 18:25. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
kdevelop usa gli script di autoconfigurazione, che è abbastanza un panico modificare manualmente. Se configuri esternamente a kdevelop, esegui configure con questa sintassi:
LDFLAGS=-lncurses ./configure <opzioni> Dentro kdevelop, puoi impostare LDFLAGS tra le impostazioni del progetto. Nei kdevelop più vecchi, era un pò più semplice.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Ho aggiunto -lncurses alle LDFLAGS del progetto, ma non è servito a niente, purtroppo; comunque, tanto per non fare un thread lunghissimo (e risolvere più in fretta) ti ho aggiunto ai miei contatti icq, così parliamo più liberamente, poi posto la soluzione appena la troviamo. Ok ?
ps. sarebbe bello fare una mini-sezione dentro a programmazione per la programmazione in linux, non trovi? |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Allega una bozza del progetto così posso vedere cosa c'è di sbagliato. Che versione di kdevelop hai?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Eccoli, adesso sono quasi vuoti perchè non ho messo ancora i sorgenti del programma console che devo convertire, ma l'errore lo da comunque.
ps. il file non ci sta, posso inviartelo per email? |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
ilsensine <at> hwupgrade <dot> it
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Inviato
ps. @hwupgrade.it fa molto figo |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ok ho replicato il problema (certo kdevelop 3 fa veramente pena); l'ho aggirato così:
Apri la finestra "opzioni progetto"; vai in "opzioni di make" e aggiungi una variabile d'ambiente; chiamala - indovina un pò - LDFLAGS e assegnagli 'sto benedetto -lncurses come valore. Poi mi chiedono perché preferisco farmi i Makefile a manina
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Mi ero scordato: non mi sembra che la funzione initsrc faccia parte delle ncurses; esiste la initscr, non so se è quella che avevi intenzione di usare.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Ho aggiunto la variabile d'ambiente che mi hai detto, ma non va lo stesso.
Ti ho spedito il file del nuovo progetto, se hai voglia di dargli un'occhiata. ps. ho la tremenda sensazione che dovrò imparare a fare i makefile |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Gatteo
Messaggi: 2955
|
Premetto che ho solo letto dei tutorial semplici (niente roba avanzata, ancora), ma dicono di usare initsrc per inizializzare la finestra di lavoro
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:40.



















