2016-05-10 1 views
0

Когда constuctor для моего wxGLCanvas подклассуInitialize Glew изнутри wxGLCanvas под Linux

MyGLCanvas::MyGLCanvas(wxWindow* parent) 
     : wxGLCanvas(parent, wxID_ANY, 0) 
{ 
    wxGLContext *m_context = new wxGLContext(this); 
    SetCurrent(*m_context); 

    GLenum err = glewInit(); 
} 

называется glewInit() возвращает мне ошибку-код для "Missing GL версии".

Это только под Ubuntu, где я связываюсь с флагами -lGLEW -lGL, wxWidgets - версия 2.8 и OpenGL 3.0 Mesa 10.1.3. В ОС Windows нет ошибки.

Я благодарен за любые указатели. Сообщите мне, нужна ли вам дополнительная информация или MWE.

ответ

0

Я обновил wxWidgets до версии 3.1 и переместил SetCurrent и glewInit вызов из конструктора до обработки события, связанной с wxEVT_PAINT и убедился, что она вызывается только один раз.

Теперь это работает.

Смежные вопросы