GLFW第一响应者错误 [英] GLFW first responder error

查看:114
本文介绍了GLFW第一响应者错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图创建一个简单的GLFW窗口并成功,但是xcode给我一个错误:

I am trying to create a simple GLFW window and a succeed but xcode gives me an error:

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

我使用的代码是:

#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;
}

让我感到困惑的部分是,从我查找的内容来看,包括我将允许它在mac上运行的提示,但由于某些原因,我仍然会遇到错误,因此我希望有人可以帮助我解决此错误.

The part that is confusing me is from what I have looked up is that including the hints that I have will allow it to work on mac but for some reason I am stilling getting the errors so I was hoping that someone could help me solve this error.

推荐答案

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

This seems to indicate that this is a known bug in macOS Sierra, and looking at the git-repo it seems to be fixed. However, it does not look like the (currently) latest version on their webpage has been updated.

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

If you have installed GLFW from their website, I recommend pulling the code from git and compiling it locally.

(请参见,以获取有关从来源.)

( see this for some helpful details about building the .dylib file from the source.)

这篇关于GLFW第一响应者错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆