2011-02-01 36 views
0

我是新来的glui。我无法创建glui菜单栏。每当我创建一个菜单栏GLUI我收到以下错误:使用glui menubar

1.cpp:13: error: expected constructor, destructor, or type conversion before ‘*’ token 
1.cpp: In function ‘void controlcallback(int)’: 
1.cpp:42: error: ‘m’ was not declared in this scope 
1.cpp:42: error: expected type-specifier before ‘GLUI_MenuBar’ 
1.cpp:42: error: expected `;' before ‘GLUI_MenuBar’ 

来源:

int main_window; 
GLUI *w1; 
GLUI_Listbox *l1; 
GLUI_Button *b1,*b2,*b3,*b4,*b5,*b6,*b7,*b8; 
GLUI_Panel *p1,*p2; 
enum GLUI_MenuBar *m1; 

int id; 

void init() 
{ 
    glClearColor(0,1,1,0); 
} 

void display() 
{ 
    glClear(GL_COLOR_BUFFER_BIT); 
    glFlush(); 
    glutPostRedisplay(); 
} 

void reshape (int w, int h) 
{ 
    GLUI_Master.auto_set_viewport(); 
} 

void controlcallback(int val) 
{ 

    if(val == 1) { 
     w1->set_main_gfx_window(main_window); 
     m=new GLUI_MenuBar(p1); 
    } else { 
     w1->set_main_gfx_window(main_window); 
    } 
} 

int main(int a, char **b) 
{ 
    glutInit(&a,b); 
    glutInitWindowSize(3000,3000); 
    glutInitWindowPosition(0,0); 
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); 

    main_window = glutCreateWindow(" practice"); 
    init(); 
    glutDisplayFunc(display); 


    GLUI_Master.set_glutReshapeFunc(reshape); 
    w1=GLUI_Master.create_glui_subwindow(main_window,GLUI_SUBWINDOW_TOP); 
    id=w1->get_glut_window_id(); 
    p1=w1->add_panel("",GLUI_PANEL_RAISED); 
    b1=w1->add_button_to_panel(p1,"navigator",1,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b2=w1->add_button_to_panel(p1,"naigator",2,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b3=w1->add_button_to_panel(p1,"navigator",3,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b4=w1->add_button_to_panel(p1,"naigator",4,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b5=w1->add_button_to_panel(p1,"navigator",5,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b6=w1->add_button_to_panel(p1,"naigator",6,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b7=w1->add_button_to_panel(p1,"navigator",7,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    b8=w1->add_button_to_panel(p1,"naigator",8,controlcallback); 
    w1->add_column_to_panel(p1,true); 
    GLUI_MenuBar *m1 = new GLUI_MenuBar(id,GLUI_SUBWINDOW_TOP); 

    w1->set_main_gfx_window(main_window); 
    glutMainLoop(); 
} 

回答

1

那么,究竟是由编译器1.cpp:42: error: ‘m’ was not declared in this scopem真的没有宣布任何地方报告的错误。

另一个错误1.cpp:13: error: expected constructor, destructor, or type conversion before ‘*’ token听起来像你忘了包含GLUI_Listbox glui标题。

顺便说一句,你正在影响全球变量m1GLUI_MenuBar *m1 = new GLUI_MenuBar(id,GLUI_SUBWINDOW_TOP);

+0

我已经改变m与m1,这是glui MenuBar的指针。我也删除了枚举,但仍然遇到同样的问题。是否有一些版本问题,我的菜单栏不起作用。我正在使用2.36版本的glui。 – Shweta 2011-02-02 09:05:28