mingw链接opengl

    最近想要在mingw上搭建opengl环境,按照https://learnopengl-cn.github.io/01%20Getting%20started/02%20Creating%20a%20window/上的操作获取了glad的文件,但是glfw则是下载的prebuild binaries。

    有两点需要注意:

    1.如果是以静态方式链接,需要同时链接opengl32和gdi32库(似乎还不止这两个,具体待定)。例:

        g++ hello.cpp glad.c -Iinclude -Llib-mingw -lopengl32 -lgdi32 -lglfw3 -static -o hello.exe

        以动态方式链接的话,例:

        g++ hello.cpp glad.c -Iinclude -Llib-mingw -lglfw3dll -o hello.exe

    2.采用动态方式链接时总是报undefined reference错误,确实是glfw相关的符号找不到。打开visual studio开发人员命令行工具,调用dumpbin:

        dumpbin /symbols libglfw3dll.a

        输出的符号列表中,unreference错误的符号是存在的。后来几经查询,发现mingw命令行运行的是32位环境,而链接的glfw的库是64位的。重新下载了32位的glfw库,链接通过。

    另外可以参考链接:https://www.glfw.org/docs/latest/build_guide.html

上一篇:2021-02-06


下一篇:VS Code配置C++环境的基本步骤