Eclipse CDT C ++ enum "no se pudo resolver"

Estoy desarrollando un juego en Eclipse CDT en C ++ / OpenGL, que compila y funciona bien, pero por alguna razón, una enumeración que estoy declarando (SCREEN_MAIN_MENU) se subraya con garabatos rojos y el resaltado indica que el símbolo SCREEN_MAIN_MENU no se puede resolver . Esta es una mentira descarada, ¿cómo puedo hacer que Eclipse lo reconozca?

Screens.h:

#ifndef SCREENS_H
#define SCREENS_H

enum {
SCREEN_MAIN_MENU,
SCREEN_LOADING,
SCREEN_GAME
};

class Screen{
public:
    static void change(int screen);
    static void render();
};

#endif

Screens.cpp:

#include "screens.h"
#include "gui.h"
#include "global.h"

extern Global global;

void Screen::change(int screen){
    global.screen = screen;
}

void Screen::render(){
if(global.screen == SCREEN_MAIN_MENU){ //HERE ARE THE RED SQUIGGLES!!!??
    global.text_renderer.print("Sidona", global.screen_width/2-40,
    global.screen_height-25);
    Gui::render();
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta