参考视频:https://www.bilibili.com/video/BV1pHzSYJEBD/下载GLFW、GLAD、freeglut: ``` https://www.glfw.org/download.html # 点击Source package,得到glfw-3.4.zip https://glad.dav1d.de/ # 选择API->gl->Version 4.6, Profile->Core, Generate a loader,得到glad.zip https://www.transmissionzero.co.uk/software/freeglut-devel/ # 点击Download freeglut 3.0.0 for MinGW,得到freeglut-MinGW-3.0.0-1.mp.zip ```下面编译glfw-3.4,因为glad不大,freeglut是已编译好的,所以就不编译了。 1. 在`glfw-3.4`目录下新建`build`目录,进入`build`目录。 2. 按`shift+鼠标右键`,选择`在此处打开Powershell窗口`(也可以用cmd),输入: ```bash cd build cmake ../ -G "MinGW Makefiles" mingw32-make ``` `cmake ../`的意思是在上一级目录找`CMakeLists.txt`文件,`-G "MinGW Makefiles"`是指定生成MinGW的Makefile文件。 `mingw32-make`是编译,也可能是`make`,要看`C:\MinGw\mingw64\bin`下的到底是`mingw32-make.exe`还是`make.exe`(当然可以复制一个改名为`make.exe`方便编译)。 找到`glfw-3.4/build/src/libglfw3.a`,有就说明OK。 3. 将代码目录写为: ``` ├── include # 头文件 │ ├── GLFW # 原先是glfw-3.4/include/GLFW,把文件夹直接复制过来 │ ├── glad # 原先位于glad/include,把include下的两个文件夹(glad和KHR)直接复制过来 │ ├── KHR # 见上 │ └── GL # 原先位于freeglut-MinGW-3.0.0-1.mp/freeglut/include/GL,把文件夹直接复制过来 ├── lib # 库文件 │ ├── libglfw3.a # 原先位于glfw-3.4/build/src │ ├── libfreeglut.a # 原先位于freeglut-MinGW-3.0.0-1.mp/freeglut/lib/x64 │ ├── libglew32.a # 同上 ├── src # 源文件 │ ├── main.cpp # 在这里编写你的代码 │ └── glad.c # 原先位于glad/src └── CMakeLists.txt # CMake文件 ``` 简而言之,就是移动下载的include跟lib跟src文件到自己的项目里面去。 4. 找到`https://www.glfw.org/documentation.html` 的示例代码,可运行成功。 5. 如果报错`进程已结束,退出代码为 -1073741515 (0xC0000135)`,则是缺少`freeglut.dll`(位于`freeglut-MinGW-3.0.0-1.mp/freeglut/bin/x64`),将其复制到`cmake-build-debug`目录(`exe`生成目录)下即可。