Sto riscontrando qualche problema nella compilazione di alcuni file utilizzando le intestazioni. Qui è una ripartizione del mio codice:Errore "riferimento non definito alla funzione"
file1.c
#include "header.h"
int main() {
func1();
return 0;
}
file2.c
#include "header.h"
void func1() {
... function implementation ...
}
header.h
void func1();
L'errore che sto ottenendo è:
In funzione
'main'
:
undefined reference to'func1'
Nota: sto solo usando una semplice ripartizione di come i miei 3 file sono impostati. Ho bisogno di farlo funzionare con i 3 file. Sto impostando/includendo tutto correttamente? Ho bisogno di usare questa configurazione, ma non sono sicuro di come file.c si riferisca all'implementazione effettiva di func1()
.
quale compilatore stai usando ?? puoi fornire la dichiarazione del compilatore? – mathematician1975
Se si sta usando 'gcc -o programma file2.c file1.c', modificare questo in' gcc -o programma file1.c file2.c'. L'ordine è importante –
Hmm, hai ragione che questo dovrebbe funzionare con la normale compilazione di gcc. Il problema è che questo problema per più è da un progetto molto grande, con centinaia di file. Ma la struttura del problema è la stessa. Ho solo pensato che forse non includevo le cose correttamente, ma immagino che non sia così. – Tesla