C++ Fl_X编译错误

C++ Fl_X编译错误,c++,x11,fltk,C++,X11,Fltk,我一直在修改一个项目,现在当我试图编译该软件时,出现以下错误: 在main.cpp:32:0中包含的文件中: main.h:在成员函数“virtualvoid Fl_Root::show()”中: main.h:41:17:错误:嵌套名称说明符中使用的类型“Fl_X”不完整 如果(!show())Fl_X::set_xid(这是根窗口(Fl_显示,Fl_屏幕)); ^ menu.h文件非常简单,只包含以下内容: extern void ShowMenu(); class Fl_Root :

我一直在修改一个项目,现在当我试图编译该软件时,出现以下错误:

在main.cpp:32:0中包含的文件中:
main.h:在成员函数“virtualvoid Fl_Root::show()”中:
main.h:41:17:错误:嵌套名称说明符中使用的类型“Fl_X”不完整
如果(!show())Fl_X::set_xid(这是根窗口(Fl_显示,Fl_屏幕));
^
menu.h文件非常简单,只包含以下内容:

extern void ShowMenu();

class Fl_Root : public Fl_Window {
    int handle(int);
public:
    Fl_Root() : Fl_Window(0,0,Fl::w(),Fl::h()) { 
    }
    void show() {
        if (!shown()) Fl_X::set_xid(this, RootWindow(fl_display, fl_screen));
    }
    void flush() {
    }
};
任何帮助都将不胜感激

按照德鲁的建议


我发现了问题!我在“#include”语句之前注释掉了一个“#define FL#u INTERNALS 1”调用-oops!我只是想发布一下,以防这对其他人有所帮助。

编译器告诉您它不知道
F1\u X
的定义。谢谢Drew,有没有关于如何让它知道Fl\u X的想法?我没有访问此代码的权限,所以我无法告诉您该定义存在的位置。如果它位于头文件中,则包含该头文件。Fl_X是一个平台相关文件。它存在于特定于平台的代码中,如win32.H或x.H。当包含Fl.H时,应该自动包含它。您是如何安装FLTK的?我曾尝试在文件顶部添加一个“#include”,但没有任何区别。还有其他想法吗?