mingw链接opengl
Posted jackie-snow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于mingw链接opengl的主要内容,如果未能解决你的问题,请参考以下文章
Java 8 流的 .min() 和 .max():为啥会编译?
LeetCode(剑指 Offer)- 30. 包含min函数的栈
在 gruntjs minify/uglify 之后更改 html 中的链接或脚本文件名