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 :
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);
}
File funzione.c :
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;
}
E il file header funzione.h :
codice:
int funzione(int, int);
I file si trovano tutti nella stessa cartella aperta poi in vsc.
Come risolvo? Grazie!