Freeglut在windows 7 64bit + visual studios 2010下的安装与配置

时间:2022-04-18 03:31:29
  1. http://freeglut.sourceforge.net/上寻找和下载freeglut最新版源代码(我下载的是2.8.1)
  2. 解压缩,用vs2010打开“freeglut-2.8.1\VisualStudio\2010”目录下的“freeglut.sln”文件。
  3. 生成解决方案,使用release,分别生成win32和x64的。
  4. 然后进入“freeglut-2.8.1\lib”。分别复制x64和win32下的freeglut.dll文件到“C:\windows\system32”和“C:\windows\sysWoW64”下。
  5. 注意!在64位版本的windows 7 下,win32版的freeglut.dll要放入sysWoW64,而x64版本的要放入system32。因为system32中的动态链接库其实是原生64位版本的。而为了兼顾兼容性,才有了sysWoW64,这个目录中存放的反而是32位的链接库。
  6. 接着分别将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”。这里就是正常对应的。
  7. 最后将“\freeglut-2.8.1\include”下的“GL”目录复制到“D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include”即可。
  8. 对于我们将要做测试的第一个例子来说,到这一步就足够了。用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的学习来说没有意义,调试也会变得不方便,得不偿失。