|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1273
|
[C++] Problema definizione multipla
Ciao a tutti.
Non capisco come mai il compilatore non mi riesce a compilare il seguente progetto c++: FILE MAIN.C #include "header.h" int main(){ } FILE HEADER.H #ifndef HEADER_H #define HEADER_H int a; #endif FILE PROCEDURE.H #include "header.h" Mi da il seguente errore: procedure.o: ( .bss+0x0): multiple definition of `a' main.o: (.bss+0x0): first defined here collect2: ld returned 1 exit status make: *** [p_c_MT] Errore 1 Secondo voi cosa sbaglio nella struttra del progetto? Grazie mille! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
se vuoi che la variabile a sia globale e visibile da tutti i file object, devi definirla in un solo file, e "linkarla" usando
Codice:
extern int a; Codice:
int a; // La vera e propria definizione della variabile a
int main() {
...
}
Codice:
#ifndef HEADER_H #define HEADER_H extern int a; #endif |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1273
|
Grazie mille ora va.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:38.



















