Función estática declarada pero no definida en C ++

Recibo un error del siguiente código usando C ++.

Main.cpp

#include "file.h"

int main()
{
   int k = GetInteger();
   return 0;
}

Archivo.h

static int GetInteger();

Archivo.cpp

#include "file.h"

static int GetInteger()
{
   return 1;
}

El error que recibo:

Error C2129: static function 'int GetInteger(void)' declared but not defined.

He leído el famoso artículo"Organizando el archivo de código en C y C ++", pero no entiendo lo que está mal con este código.

Respuestas a la pregunta(6)

Su respuesta a la pregunta