无法在mac上使用GLFW3创建OpenGL 3.2上下文

zyn*_*ync 0 opengl glfw

我一直在使用Xcode中的GLFW 2进行OpenGL项目,一切都运行得很好.我能够创建一个3.2 OpenGL上下文,并渲染一切.

但是,昨天我安装了GLFW3 lib并进行了修改建议.现在我根本无法创建3.2上下文,它总是返回3.0.3上下文.我能做错什么?

我在glfw之前加入了glew标题

这是我的初始化代码:

if(!glfwInit()){
        std::cout << "ERROR IN glfwInit()" << std::endl;
        return;
    }

    mWindow = glfwCreateWindow(mWidth, mHeight, "GLFW Renderer", NULL, NULL);;

    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    if(!mWindow){
        std::cout << "ERROR IN glfwOpenWindow" << std::endl;
        glfwTerminate();
        return;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(mWindow);

    int major, minor, rev;
    glfwGetVersion(&major, &minor, &rev);
    std::cout << "OpenGL " << major << "." << minor << "." << rev << std::endl;

    glewExperimental = GL_TRUE;
    if(glewInit() != GLEW_OK){
        std::cout << "ERROR INITIALIZING GLEW" << std::endl;
        return;
    }

    glViewport(0, 0, mWidth, mHeight);
Run Code Online (Sandbox Code Playgroud)

编辑:将GLFW_CONTEXT_VERSION_MINOR更改为2

zyn*_*ync 5

正如Brett Hale所说,我在创建窗口之前通过指定glfwWindowHints来解决它,这非常有意义.