Visual Studio 2012 GLFW 3.x错误消息

时间:2014-03-30 00:01:56

标签: visual-studio visual-studio-2012 glfw

Long Story简短,OpenGL初学者/ dabbler,使用GLFW进行自学。

我从here下载了GLFW预编译的二进制文件 然后我跟着this教程(我知道它的VS2010具体,但仍然) 我已经阅读了有关VS2012 + GLFW 3.x设置的链接器错误的大量问题。 他们都没有解决我的问题。 这是我到目前为止在代码中的内容。

#define GLFW_DLL
#include <glfw3.h>

#pragma comment(lib,"glfw3.lib")
#pragma comment(lib,"glfw3dll.lib")
#pragma comment(lib,"opengl32.lib")


int main(int argc,char** argv)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* 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 */

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

以下是我的内容 VC包含目录。 enter image description here VC lib目录 enter image description here VC链接器输入选项 enter image description here System32 DLL enter image description here

编译成功。但是,我明白了 enter image description here

为什么,这个设置有什么问题?

UPDATE :: 我尝试将所有文​​件(dll,lib和header)放在项目文件夹中,仍然没有结果, 我仍然收到相同的错误消息。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用静态库而不是dll,从而消除了对dll的需求。

要执行此操作,您需要删除GLFW_DLL的定义,以便您将文件读为:

#include <glfw3.h>

main() // code follows

您需要从其他依赖项中删除glfw3dll.lib,但请保留glfw3.lib和opengl32.lib。