c ++ múltiplas definições de uma variável

Eu tenho 4 arquivos (2 cabeçalhos e 2 arquivos de código). FileA.cpp, FileA.h, FileB.cpp, FileB.h

FileA.cpp:

#include "FileA.h"

int main()
{
    hello();
    return 0;
}

void hello()
{
    //code here
}

FileA.h:

#ifndef FILEA_H_
#define FILEA_H_
#include "FileB.h"
void hello();

#endif /* FILEA_H_ */

FileB.cpp:

#include "FileB.h"

void world()
{
    //more code;
}

FileB.h:

#ifndef FILEB_H_
#define FILEB_H_

int wat;
void world();


#endif /* FILEB_H_ */

quando eu tento compilar (com o eclipse), eu recebo "múltipla definição de 'wat'" E eu não sei porque, parece que deve funcionar muito bem.

questionAnswers(5)

yourAnswerToTheQuestion