c ++ múltiples definiciones de una variable

Tengo 4 archivos (2 encabezados y 2 archivos 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
}

Archivo A.h:

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

#endif /* FILEA_H_ */

FileB.cpp:

#include "FileB.h"

void world()
{
    //more code;
}

ArchivoB.h:

#ifndef FILEB_H_
#define FILEB_H_

int wat;
void world();


#endif /* FILEB_H_ */

cuando trato de compilar (con eclipse), obtengo "definición múltiple de` wat '"Y no sé por qué, parece que debería funcionar bien.

Respuestas a la pregunta(5)

Su respuesta a la pregunta