首页 文章

如何构建OpenGL GLEW GLFW程序,以便在exe文件夹中不需要glfw3.dll?

提问于
浏览
2

我编译并执行了一个简单的OpenGL GLEW GLFW程序,我从教程中复制了该程序 . 我在Win 7 x64机器上使用了C和CodeBlocks 13.12 .

只有当exe文件所在的bin / Debug文件夹中存在glfw3.dll文件时,程序才会执行 . 否则会出错:程序无法执行,因为在系统中找不到glfw.dll . 我使用默认的CodeBlocks设置 .

如何构建程序,以便在具有exe文件的文件夹中不需要glfw3.dll,而是内置到程序中?

2 回答

  • 0

    Statically link GLFW

    GLFW库的静态版本名为glfw3 . 使用此版本时,还需要链接GLFW使用的某些库 . 在Windows下使用静态版本的GLFW链接程序时,必须与opengl32链接 . 如果您使用的是GLU,还必须使用glu32进行链接 .

  • 3

    我使用Nuwen的mingw发行版并用这个编译:g glfwtest.cpp -o glfwtest.exe -lglew32 -lglfw3 -lopengl32 -lgdi32

    来自网站:GLFW库的静态版本名为glfw3 . 使用此版本时,还需要链接GLFW使用的某些库 .

    在Windows下使用静态版本的GLFW链接程序时,必须与opengl32链接 . 在MinGW的某些版本中,您还必须显式链接gdi32,而其他版本的MinGW将其与其他依赖项(如user32和kernel32)一起包含在默认库集中 . 如果您使用的是GLU,还必须使用glu32进行链接 .

    http://www.glfw.org/docs/latest/build.html#build_link_win32

    所以在我的情况下,我必须链接gdi32 .

相关问题