1,文件準備:在sourceforge上下載freeglut和glew,我是2015-10-22號下載的freeglut-2.8.1和glew-1.13.0-win32,好像都不是最新版,但是也差不多了,下載後解壓。
2,freeglut庫編譯:在freeglut-2.8.1\VisualStudio\2012下,用VS2012打開freeglut.sln,裏面總共10個工程,用win32,release模式進行編譯,編譯成功後,生成的文件在freeglut-2.8.1\lib文件夾下,其中freeglut.lib和freeglut.dll就是我們需要的。當然,項目可能編譯不通過,一般只是項目設置的問題,百度一下都能解決。另外說明一點,這裏爲什麼沒有用直接用glut庫,因爲現在的freeglut已經基本包含了所有的glut功能,而glut現在的最新版是3.7,目前該項目已經廢止了,98年8月之後就已經沒怎麼更新過了。
3,複製文件:①.h頭文件:在VS2012的安裝目錄下打開VC\include文件夾,我的是就是D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include,在該文件夾下新建一個文件夾,改名爲GL,將freeglut-2.8.1\include\GL中的.h文件全部複製到新建的文件夾內(共4個),將glew-1.13.0\include\GL下的.h頭文件也複製到剛纔新建的GL文件夾下(工3個};②.lib靜態文件:將freeglut.lib和glew-1.13.0\lib\Release\Win32中的glew32.lib和glew32s.lib複製到VC\lib文件夾下;③.dll動態鏈接庫:將freeglut.dll和glew-1.13.0\bin\Release\Win32文件夾下的glew32.dll文件複製到C:\Windows\SysWOW64中。至此,基本就配置完成了。
4,測試:用VS2012新建一個空的Win32控制檯應用程序,再添加一個.cpp文件,代碼如下:
#include <GL/glut.h>
#pragma comment (lib, "glew32.lib")
void init() {
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f, 1.0f, 0.0f);
glRectf(-0.6f, -0.6f, 0.6f, 0.6f);
glFlush();
}
int main(int argc, char* argv[]){
glutInit(&argc, argv);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 300);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow("opengl");
glewInit();
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
如果能編譯通過,且出現如圖所示結果,則說明配置基本正確了。
另外做一點說明,雖然是用VS2012編譯的freeglut庫,但本人親測在VS2013上也能使用,而且暫時也沒出現什麼bug,而且實際上我用到的系統是Win10 64bit,但Win7完全相同,因爲在換系統之前,我也做了同樣的測試。