首页 > 解决方案 > C++ glfw 未解决的外部符号错误

问题描述

我正在尝试使用 glfw 和 opengl 用 C++ 制作 3d 游戏,但我遇到了很多链接器错误。

错误

我尝试更改一些链接器设置,但我尝试过的没有任何效果。

我正在使用示例 glfw 代码

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    if (!glfwInit())
        return -1;

    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);
    while (!glfwWindowShouldClose(window))
    {
        glClear(GL_COLOR_BUFFER_BIT);
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

标签: c++opengllinker-errorsglfw

解决方案


如果没有看到您的链接器/编译器选项,我无法确定确切的问题出在哪里,但这些建议可能会解决您的问题:

  • 如果要链接 dll,则需要定义GLFW_DLL为预处理器宏
  • 确保您的链接器可以找到 glfw3.lib 或 glfw3dll.lib
  • 如果要链接到 dll,则必须链接到 glfw3dll.lib

在他们的网站上有一个关于如何使用 glfw 构建应用程序的指南。


推荐阅读