GLFW第一响应者错误

Mat*_*hew 6 c++ opengl glfw

我正在尝试创建一个简单的GLFW窗口并成功,但xcode给了我一个错误:

2016-12-14 10:16:40.412191 CREngine[830:21929] [General] ERROR: Setting <GLFWContentView: 0x100369850> as the first responder for window <GLFWWindow: 0x10033ea00>, but it is in a different window ((null))! This would eventually crash when the view is freed. The first responder will be set to nil.
(
    0   AppKit                              0x00007fff9710b9a4 -[NSWindow _validateFirstResponder:] + 566
    1   AppKit                              0x00007fff968fc9eb -[NSWindow _setFirstResponder:] + 31
    2   AppKit                              0x00007fff969a466a -[NSWindow _realMakeFirstResponder:] + 406
    3   AppKit                              0x00007fff969a4480 -[NSWindow makeFirstResponder:] + 123
    4   libglfw.3.dylib                     0x00000001000a9895 _glfwPlatformCreateWindow + 631
    5   libglfw.3.dylib                     0x00000001000a5430 glfwCreateWindow + 487
    6   CREngine                            0x0000000100000e87 main + 135
    7   libdyld.dylib                       0x00007fffadd2d255 start + 1
)
Program ended with exit code: 0
Run Code Online (Sandbox Code Playgroud)

我使用的代码是:

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    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);

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

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

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的部分来自我所看到的是包括我的提示将允许它在mac上工作但由于某种原因我仍然得到错误所以我希望有人可以帮我解决这个错误.

pin*_*gul 5

似乎表明这是macOS Sierra中的一个已知错误,查看git-repo似乎已修复。但是,它看起来好像网页上的(当前)最新版本尚未更新。

如果您从他们的网站上安装了GLFW,建议您从git中提取代码并在本地进行编译。

(编辑:看到这个关于从源头上建立文件名为.dylib一些有用的细节。)