Linux 上的 opengl:无法使用正确的版本

opengl on Linux : unable to use a correct version

我尝试在 Fedora 25 上使用 glfw + glew 构建一个程序。 其中一部分是:

int main()
{
    glfwInit();
    glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_ANY_PROFILE);
    //glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
    //glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);
    mainWindow = glfwCreateWindow(1024,768,"NONE",nullptr,nullptr);
    if(mainWindow == nullptr)
    {
        std::cout<<"Creating window ERROR.\n"<<std::endl;
        glfwTerminate();
        return 1;
    }
    .....
}

如果我使用 glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE); 获取版本 3.3,它将无法创建 window。

我的硬件支持 openGL 4.1。

更新:得到答案....

只需在此处取消注释 glfwWindowHint(GLFW_CONTEXT_VERSION_*,*)
glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE)
中使用核心配置文件时 需要请求显式版本。

感谢 Dietrich Epp 的评论。

顺便说一句,谁能告诉我如何获得这些信息?