參考鏈接:
https://www.transmissionzero.co.uk/computing/using-glut-with-mingw/ (力薦!)
https://www.cnblogs.com/joyeecheung/p/4310487.html
http://www.mamicode.com/info-detail-495096.html
開工前
MinGW的安裝參考另一篇博客:https://www.cnblogs.com/chap-xw/p/13944947.html
未進行過有關Opengl的任何配置,現檢查相關內容
MinGW的安裝目錄下,include目錄下有GL文件夾,里面有gl.h、glext.h、glu.h三個頭文件

lib目錄下有libglu32.a、libopengl.a、libglaux.a、libgdi32.a



System32文件夾里有glu32.dll,opengl32.dll


SystWOW64文件夾里有glu32..dll,opengl32.dll


下載GLUT
按照如下步驟在OpenGL官網尋找GLUT下載鏈接


點擊GLUT

驚喜!不再維護了,找不到了下載鏈接了
但是還是能下載···
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

比我還古老啊···
還有其他的下載鏈接:
https://user.xmission.com/~nate/glut.html
兩種方式下載的內容不太一樣···
在這就用最原始的版本了
操作
首先將glut.h復制到MinGW/include/GL目錄下

接下來要注意,這里的glut32.lib庫文件雖然是以lib為后綴,是MSVC標准的,而MinGW中都是以.a為后綴的庫文件
但是可以直接使用
將glut32.lib復制到MinGW/lib目錄下

(剛開始還以為要把.lib文件轉換為.a文件,需要MinGW的bin目錄下的reimp.exe,pexports.exe,dlltool.exe等程序,而我只有一個dlltool.exe,可能是因為當初在線安裝MinGW時只選了最基本的選項,所以需要從其他地方下載另外兩個程序,這里把鏈接給出來,說不定以后會用到
https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.47/
https://sourceforge.net/projects/mingw/files/MinGW/Extension/mingw-utils/)
要運行的opengl文件:
#include <stdlib.h>
#include <GL/glut.h>
void init();
void display();
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutCreateWindow("OpenGL 3D View");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void init()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5, 5, -5, 5, 5, 15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0, 0);
glutWireTeapot(3);
glFlush();
}
命令行輸入以下命令
gcc opengl.c -lglut32 -lopengl32 -lglu32
-lglut32 -lopengl32 -lglu32缺一不可
報錯

在源文件中第一行加上
#include <windows.h>

再次輸入命令,編譯成功

生成一個可執行文件

雙擊運行

報錯
原因是還沒復制glut32.dll文件
復制到C:\Windows\SysWOW64目錄下

再次運行

附錄
附上一些GLUT的常用鏈接···
https://www.opengl.org/resources/libraries/glut/spec3/spec3.html
https://www.opengl.org/resources/libraries/glut/faq/
https://www.opengl.org/resources/libraries/glut/glut-3.spec.pdf
glut32.dll是為微軟封裝的,官方的
glut.dll是sgi封裝的
順便說一句,SGI也有在windows環境下的opengl驅動,里面的庫文件名改了一下,去掉了32:opengl.lib和glu.lib。
glut.h包含了gl.h和glu.h的引用,所以不需要再include后兩個,但是必須有這三個頭文件在GL文件夾中
