glfw Errors with glfwWindowHint

glfw Errors with glfwWindowHint

本文关键字:glfwWindowHint with Errors glfw      更新时间:2023-10-16

我试着遵循这个教程,它没有工作。我不知道为什么它不工作。我使用的是Ubuntu 14.04和GNU g++命令。

代码:

#include <GLFW/glfw3.h>
int main(void) {
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);

    GLFWwindow* window = glfwCreateWindow(800, 600, "OpenGL", NULL, NULL);
    glfwMakeContextCurrent(window);
    while(!glfwWindowShouldClose(window)) {
            glfwSwapBuffers(window);
            glfwPollEvents();
    }
    glfwTerminate();
}
终端:

command: g++ display.cpp -lglfw -o display.out
/tmp/cci33O9I.o: In function `main':
display.cpp:(.text+0x18): undefined reference to `glfwWindowHint'
display.cpp:(.text+0x27): undefined reference to `glfwWindowHint'
display.cpp:(.text+0x36): undefined reference to `glfwWindowHint'
display.cpp:(.text+0x45): undefined reference to `glfwWindowHint'
display.cpp:(.text+0x54): undefined reference to `glfwWindowHint'
display.cpp:(.text+0x73): undefined reference to `glfwCreateWindow'
display.cpp:(.text+0x83): undefined reference to `glfwMakeContextCurrent'
display.cpp:(.text+0xa2): undefined reference to `glfwWindowShouldClose'
collect2: error: ld returned 1 exit status

您不应该链接到glfw,而应该链接到glfw3。如:

g++ display.cpp -lglfw3 -o display.out