Urgente - programmazione C
Ciao a tutti...
Avrei un problema che mi tormenta... Probabilmente è una scemata ma non riesco a capire dove sta l'impedimento!
Sto facendo in Knoppix (3.7) un programma in C per costruire un polinomio di interpolazione e disegnarlo.
Ci è stato fornita una funzione per disegnare i grafici. Tra l'altro ci è stato dato anche un programma di esempio che disegna un poligono regolare di n lati. Compilando quel programma non ho nessun tipo di problema e tutto funziona.
Io nel mio metto la stessa intestazione, includendo gli stessi file header e quando vado a compilare mi dà quest'errore:
/tmp/cc5AjQlp.o(.text+0x20c): In function main:
: undefined reference to decomp
/tmp/cc5AjQlp.o(.text+0x22c): In function main:
: undefined reference to solve (decomp e solve sono funzioni di un programma mio)
/tmp/cc5AjQlp.o(.text+0x24d): In function main:
: undefined reference to InitGraph
/tmp/cc5AjQlp.o(.text+0x259): In function main:
: undefined reference to ForeColor
/tmp/cc5AjQlp.o(.text+0x293): In function main:
: undefined reference to CreateWindow
/tmp/cc5AjQlp.o(.text+0x2ba): In function main:
: undefined reference to ForeColor
/tmp/cc5AjQlp.o(.text+0x2eb): In function main:
: undefined reference to DrawText
/tmp/cc5AjQlp.o(.text+0x332): In function main:
: undefined reference to CreateSubWindow
/tmp/cc5AjQlp.o(.text+0x367): In function main:
: undefined reference to leggi_ fun
/tmp/cc5AjQlp.o(.text+0x3a5): In function main:
: undefined reference to draw_ fun (idem leggi_ fun e draw_ fun)
/tmp/cc5AjQlp.o(.text+0x3e6): In function main:
: undefined reference to ForeColor
/tmp/cc5AjQlp.o(.text+0x3fb): In function main:
: undefined reference to CloseGraph
collect2: ld returned 1 exit status
Pare un problema di richiamo delle funzioni...Vi è mai capitato? Sapete di cosa può trattarsi?
Grazie se mi risponderete, io sono bloccata!!
Paola
Avrei un problema che mi tormenta... Probabilmente è una scemata ma non riesco a capire dove sta l'impedimento!
Sto facendo in Knoppix (3.7) un programma in C per costruire un polinomio di interpolazione e disegnarlo.
Ci è stato fornita una funzione per disegnare i grafici. Tra l'altro ci è stato dato anche un programma di esempio che disegna un poligono regolare di n lati. Compilando quel programma non ho nessun tipo di problema e tutto funziona.
Io nel mio metto la stessa intestazione, includendo gli stessi file header e quando vado a compilare mi dà quest'errore:
/tmp/cc5AjQlp.o(.text+0x20c): In function main:
: undefined reference to decomp
/tmp/cc5AjQlp.o(.text+0x22c): In function main:
: undefined reference to solve (decomp e solve sono funzioni di un programma mio)
/tmp/cc5AjQlp.o(.text+0x24d): In function main:
: undefined reference to InitGraph
/tmp/cc5AjQlp.o(.text+0x259): In function main:
: undefined reference to ForeColor
/tmp/cc5AjQlp.o(.text+0x293): In function main:
: undefined reference to CreateWindow
/tmp/cc5AjQlp.o(.text+0x2ba): In function main:
: undefined reference to ForeColor
/tmp/cc5AjQlp.o(.text+0x2eb): In function main:
: undefined reference to DrawText
/tmp/cc5AjQlp.o(.text+0x332): In function main:
: undefined reference to CreateSubWindow
/tmp/cc5AjQlp.o(.text+0x367): In function main:
: undefined reference to leggi_ fun
/tmp/cc5AjQlp.o(.text+0x3a5): In function main:
: undefined reference to draw_ fun (idem leggi_ fun e draw_ fun)
/tmp/cc5AjQlp.o(.text+0x3e6): In function main:
: undefined reference to ForeColor
/tmp/cc5AjQlp.o(.text+0x3fb): In function main:
: undefined reference to CloseGraph
collect2: ld returned 1 exit status
Pare un problema di richiamo delle funzioni...Vi è mai capitato? Sapete di cosa può trattarsi?
Grazie se mi risponderete, io sono bloccata!!
Paola
Risposte
per caso hai usato i template? mi è capitata una cosa simile col c++ di recente (il topic che avevo aperto si chiama "errore del linker devc++" magari dacci un'occhiata)... il tuo progetto quanti file contiene e che estensione hanno?
"prime_number":
Sto facendo in Knoppix (3.7) un programma in C per costruire un polinomio di interpolazione e disegnarlo. [...]
quando vado a compilare mi dà quest'errore:
/tmp/cc5AjQlp.o(.text+0x20c): In function main:
: undefined reference to decomp
Sono errori generati dal linker che non trova i file oggetto o le librerie necessarie. Devi specificarli nel comando di compilazione, usando eventualmente gli swith -l e -L per le librerie.
Un consiglio spassionato: cambia distribuzione! Knoppix è una live e non è proprio il massimo per lavorarci sopra a fare 'ste cose...
Come ha scritto stan era proprio un errore di linking...! Adesso mi dà solo un errore riguardo ad alcune funzioni, nonostante io abbia costruito un apposito file header per dichiararle esterne...!
Se non riesco a risolverlo magari lo scrivo qui
Grazie a tutti per l'aiuto cmq! Ciao!
Paola
Se non riesco a risolverlo magari lo scrivo qui

Grazie a tutti per l'aiuto cmq! Ciao!
Paola
Di nuovo io! 
2 domande sulla stampa su file.
quando stampo su file txt una matrice, come faccio ad andare a capo? Io nel ciclio di stampa avevo inserito
if (j==1) fprintf(out, "%c", "\n"); ma non ci va così! Mi fa degli strani segni e basta.
L'altra domanda è: lavoro con una funzione che stampa su file scelti dall'utente dei vettori e un'altra che fa lo stesso con le matrici. Come posso fare in modo che, se l'utente sceglie lo stesso file in cui stampare matrice e vettore, non sovrascriva ogni volta?
Ah un'ultima cosa poi vi lascio in pace (forse :p). Sapete di qualcosa in internet che tratti in modo semplice ed esauriente l'interpolazione bilineare per elaborare immagini in C??
Grazie!!
Paola

2 domande sulla stampa su file.
quando stampo su file txt una matrice, come faccio ad andare a capo? Io nel ciclio di stampa avevo inserito
if (j==1) fprintf(out, "%c", "\n"); ma non ci va così! Mi fa degli strani segni e basta.
L'altra domanda è: lavoro con una funzione che stampa su file scelti dall'utente dei vettori e un'altra che fa lo stesso con le matrici. Come posso fare in modo che, se l'utente sceglie lo stesso file in cui stampare matrice e vettore, non sovrascriva ogni volta?
Ah un'ultima cosa poi vi lascio in pace (forse :p). Sapete di qualcosa in internet che tratti in modo semplice ed esauriente l'interpolazione bilineare per elaborare immagini in C??
Grazie!!
Paola
Ciao,
prova con fprintf(out, "\n");
per il secondo problema:
se il file lo apri in modalita' "w" "w+" "wb+" lo sovrascrive in ogni caso perche' lo cancella e lo ricrea.
Per evitare di cancellare un file esistente puoi provare cosi':
oppure il file puo' essere aperto in modalita' sequenziale di tipo append.
A presto,
Eugenio
prova con fprintf(out, "\n");
per il secondo problema:
se il file lo apri in modalita' "w" "w+" "wb+" lo sovrascrive in ogni caso perche' lo cancella e lo ricrea.
Per evitare di cancellare un file esistente puoi provare cosi':
nuovo = 0; eseguire = 1; if ((out = fopen(NomeFile, "r+")) == NULL) { printf("Nuovo file!\n"); nuovo = 1; if ((out = fopen(NomeFile, "w")) == NULL) { printf("Impossibile creare il file!\n"); printf("Premere un tasto per continuare."); eseguire = 0; } } if (eseguire) { if(!nuovo) { // si posiziona alla fine e da un invio. fseek(out, 0, SEEK_END); fprintf(out, "\n"); } .... .... }
oppure il file puo' essere aperto in modalita' sequenziale di tipo append.
A presto,
Eugenio