OpenGL包括兩個部分,OpenGL工具函數(shù)庫(GLU)和OpenGL實用工具庫(GLUT),幸運的的是Visual Studio在安裝的時候就安裝了GLU,所以我們只要安裝GLUT就好。
GLUT有很多版本,不過不同版本之間的差異不會很大,因為GLUT編寫的目的是隱藏不同的窗口系統(tǒng)API所帶來的復(fù)雜性。這里我們選用了官網(wǎng)提供的GLUT(點擊下載)版本。
下載下來是一個壓縮包,將這個壓縮包解壓到我們的開發(fā)目錄下,最好是一個專門用來安裝程序的盤,比如我就將壓縮包解壓到E盤,目錄結(jié)構(gòu)是這樣的:
E:\OPENGL
└─glut
glut.dll
glut.h
glut.lib
glut32.dll
glut32.lib
接下來我們打開Visual Studio,建立一個控制臺項目。網(wǎng)上有很多教程直接把解壓出來的文件放到Visual Studio的安裝目錄下面,這樣雖然能夠正常使用,但是并不好。所以我們還是使用正常的方法來配置OpenGL,學(xué)了這一招以后所有的配置都可以按照這個方法來啦,比如OpenCV、darknet之類的庫。
我們先用這個方法配置好OpenGL,然后再講類似的庫如何配置。
首先切換到創(chuàng)建好的項目中,打開屬性管理窗口,主界面沒有的可以從窗口中找到。在屬性管理窗口中我們可以看到四個環(huán)境,分別是Debug x86、Release x86、Debug 64、Release 64,右鍵點擊我們正在使用的環(huán)境->屬性。


打開屬性之后點擊VC++目錄,我們可以看到包含目錄、庫目錄,依次點擊這兩個選項,將我們解壓GLUT的目錄添加進(jìn)去。
再點擊調(diào)試->環(huán)境,將GLUT的解壓目錄添加進(jìn)去,注意這里的等號兩邊不能有空格,否則會配置失敗,提示找不到glut.dll文件。

然后點擊鏈接器->輸入->附加依賴項,將GLUT解壓目錄里后綴為 .lib 的文件名全部添加上去,最后點擊確定保存配置,運行下面的代碼檢查是否配置成功。

#include "pch.h"
#include<Windows.h>
#include<gl/glut.h>
void display() {
glClearColor(0.5, 0.5, 0.5, 0.5);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f(0.25, 0.25, 0.0);
glVertex3f(0.75, 0.25, 0.0);
glVertex3f(0.75, 0.75, 0.0);
glVertex3f(0.25, 0.75, 0.0);
glEnd();
glFlush();
}
void init() {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100, 100);
glutInitWindowSize(800, 600);
glutCreateWindow("OpenGL-ONE");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
最后我們再來詳細(xì)講一下各個配置的含義:
- 包含目錄:這個是頭文件所在目錄,也就是后綴為
.h的文件所在的目錄,一般文件夾名字是 include之類。 - 庫目錄:這個是庫文件所在目錄,即后綴為
.lib的文件所在的目錄,一般存放庫文件的目錄名為 lib之類。 - 環(huán)境:這個是windows動態(tài)庫文件所在的目錄,后綴名為
.dll,一般和庫文件放在一起 - 附加依賴項:附加依賴向指的就是所有的
在我們這個例子中上面發(fā)目錄都是同一個,這是因為GLUT把所有的文件全部放在一個文件夾里了,如果是OpenCV的話就會有include、lib之類的目錄。