GLFW get Monitors count = 0,附加了另外两个监视器

时间:2014-03-19 23:56:14

标签: c++ opengl glfw multiple-monitors

这是我的简单代码。

#include <iostream>
#include <GLFW/glfw3.h>

int main() {

    int count;
    GLFWmonitor** monitors = glfwGetMonitors(&count); 
    std::cout << count << std::endl;
    return 0;
}

出于某种原因,它一直告诉我有零监视器。我假设0意味着确实有1.但我有两台其他显示器连接到我的电脑。当我进入系统偏好时,我可以清楚地看到其他两个显示器。但我不知道为什么它一直告诉我零。我不知道问题是什么。

1 个答案:

答案 0 :(得分:7)

我猜你需要在做其他任何事情之前致电glfwInit()

来自glfw文档:

  

int glfwInit(void)

     

此函数初始化GLFW库。在大多数GLFW功能之前   可以使用,GLFW必须初始化,并在程序终止之前   应终止GLFW以释放任何分配的资源   在初始化期间或之后。

     

如果此函数失败,则在返回之前调用glfwTerminate。如果它   成功之后,你应该在程序退出之前调用glfwTerminate。

     

成功初始化后对此函数的其他调用但是   在终止之前会成功,但什么都不做。

     

返回       如果成功则为GL_TRUE;如果发生错误,则为GL_FALSE。