ciao a tutti,
ho un file header fatto in questo modo
codice:
#ifndef __VARIABILE_H__
#define __VARIABILE_H__

#include <stdbool.h>

int nVariabili=0;
char listaVariabili[53];

//aggiungo una variabile alla tabella di conversione
int aggiungiVariabile(char);

//creo un array di valori da dare alle variabili
bool* creaArrayValori(int,bool);

#endif
il problema è che il linker mi restituisce il seguente errore:
ksat.o.bss+0x0): multiple definition of `nVariabili'

il punto è che non capisco bene l'errore: se tolgo l'inizializzazione a zero, ovvero metto solo "int nVariabili;" tutto va, ma aggiungo "=0" mi da l'errore...
ma perché? si mettono gli header guard per questo motivo, no?
Cos'ha che non gli va a genio l'inizializzazione?