- 在http://freeglut.sourceforge.net/上寻找和下载freeglut最新版源代码(我下载的是2.8.1)
- 解压缩,用vs2010打开“freeglut-2.8.1\VisualStudio\2010”目录下的“freeglut.sln”文件。
- 生成解决方案,使用release,分别生成win32和x64的。
- 然后进入“freeglut-2.8.1\lib”。分别复制x64和win32下的freeglut.dll文件到“C:\windows\system32”和“C:\windows\sysWoW64”下。
- 注意!在64位版本的windows 7 下,win32版的freeglut.dll要放入sysWoW64,而x64版本的要放入system32。因为system32中的动态链接库其实是原生64位版本的。而为了兼顾兼容性,才有了sysWoW64,这个目录中存放的反而是32位的链接库。
- 接着分别将x64和win32目录下的两个freeglut.lib放入“D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64”和“D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib”。这里就是正常对应的。
- 最后将“\freeglut-2.8.1\include”下的“GL”目录复制到“D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include”即可。
- 对于我们将要做测试的第一个例子来说,到这一步就足够了。用vs建一个空项目,将http://ogldev.atspace.co.uk/www/tutorial01/tutorial01.html上的代码粘贴进去:
1 #include <GL/freeglut.h> 2 3 #pragma comment(lib, "freeglut") 4 5 static void RenderSceneCB() 6 { 7 glClear(GL_COLOR_BUFFER_BIT); 8 glutSwapBuffers(); 9 } 10 11 static void InitializeGlutCallbacks() 12 { 13 glutDisplayFunc(RenderSceneCB); 14 } 15 16 17 int main(int argc, char** argv) 18 { 19 glutInit(&argc, argv); 20 glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA); 21 glutInitWindowSize(1024, 768); 22 glutInitWindowPosition(100, 100); 23 glutCreateWindow("Tutorial 01"); 24 25 InitializeGlutCallbacks(); 26 27 glClearColor(0.0f, 0.0f, 0.0f, 0.0f); 28 29 glutMainLoop(); 30 31 return 0; 32 }
编译运行,接着会出现一个命令行窗口和一个黑色窗口。这样就成功了。
PS:如果没有将freeglut.dll复制到正确的位置,程序编译成功,但无法运行。
PS2:那个命令行窗口的出现是正常的,如果要消去,就要使用win32窗口项目,这样就得微调代码。对于opengl的学习来说没有意义,调试也会变得不方便,得不偿失。