Ciao, i programmi diventano sempre più lunghi e volevo dividerli in più file per chiarezza, ho seguito una guida in internet ma compilando il file con il main riscontro i seguenti errori:
__________________________________________________ ____________________________________
Avvio della compilazione...
/usr/bin/gcc -fdiagnostics-color=always -g '/home/drinu/Desktop/studio per progetto c-canc/progetto.c' -o '/home/drinu/Desktop/studio per progetto c-canc/progetto'
/usr/bin/ld: /tmp/ccVimCtt.o: in function `main':
/home/drinu/Desktop/studio per progetto c-canc/progetto.c:14: undefined reference to `funzione'
collect2: error: ld returned 1 exit status
La compilazione è terminata con errore/i.
* Il processo del terminale è stato terminato. Codice di uscita: -1.
* Terminale verrà riutilizzato dalle attività, premere un tasto qualsiasi per chiuderlo.
__________________________________________________ ____________________________________
Sembra che non riesca a trovare la funzione che si trova nel file funzione.c.
Cosi quando compilo il file funzione.c non riesce a trovare la funzione main.
Sembra che i due file non si vedano...
Vi posto il progettino di esempio:
file progetto.c :
File funzione.c :codice:#include<stdio.h> #include"funzione.h" int main(){ int primo_num; int secondo_num; int ris; printf("primo numero? "); scanf("%d", &primo_num); fflush(stdin); printf("\nsecondo numero? "); scanf("%d", &secondo_num); fflush(stdin); ris = funzione(primo_num, secondo_num); printf("%s%d", "Risultato: ", ris); }
E il file header funzione.h :codice:#include"funzione.h" int funzione(int p, int s){ int r; if (p > 0 && s > 0) r = p + s; else r = p * s; return r; }
I file si trovano tutti nella stessa cartella aperta poi in vsc.codice:int funzione(int, int);
Come risolvo? Grazie!![]()

Rispondi quotando