0

当我的wxGLCanvas子类的构造函数

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

    GLenum err = glewInit();
}

被调用glewInit()返回“缺少 GL 版本”的错误代码。

这仅在 Ubuntu 下,我与 flags 链接-lGLEW -lGL,wxWidgets 是 2.8 版和 OpenGL 3.0 Mesa 10.1.3。在 Windows 操作系统下没有错误。

我很感激任何指示。如果您需要任何其他信息或 MWE,请告诉我。

4

1 回答 1

0

我更新wxWidgets到 3.1 版并将SetCurrentandglewInit调用从构造函数移动到绑定到的事件处理程序,wxEVT_PAINT并确保它只被调用一次。

现在它起作用了。

于 2016-05-12T18:31:08.800 回答