为什么我需要FreeGLUT来编译和链接GLFW程序

时间:2017-06-14 13:48:38

标签: c++ opengl

我编译并链接了一个简单的OpenGL程序。它是一个C ++控制台程序,可以打印版本号。它有效,但我不明白为什么它有效。请你帮我理解一下。

我已在GLFW和FreeGLUT库中链接。我认为这些是替代工具包。但是,如果我取出FreeGLUT库,glGetString就不再链接了。

它们是替代工具包吗?为什么我需要在FreeGLUT中链接?我错过了一个我应该链接的图书馆吗?

// GLVersion.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "glfw3.h"
#include "glfw3native.h"
#include "freeglut.h"
#include "glut.h"


int main(int argc, char**argv)
{
    const GLubyte *Vstr;
    glfwInit();
    GLFWwindow* mywindow = glfwCreateWindow(800,600,"GLFW",NULL,NULL);
    glfwMakeContextCurrent(mywindow);

    Vstr = glGetString(GL_VERSION);
    fprintf(stderr, "Your OpenGL version is %s\n", Vstr);

    getchar();

    return 0;
}

1 个答案:

答案 0 :(得分:1)

glGetString是一个OpenGL函数,而不是GLU函数。要与其关联,您必须与OpenGL32.lib链接。