vs配置 freeglut3.0(opengl的窗口系统库)

一、freeglut3.0

freeglut是opengl的窗口工具库,源码下载地址 http://sourceforge.net/projects/freeglut/


二、获取预编译的头文件,lib和dll

freeglut2.x都是直接提供预编译库的,所以freeglut2.x的配置方法并不能直接适用于freeglut3.0。

freeglut3.0只提供源码和头文件,没有直接的lib库和dll库,但可以通过cmake编译生成。

读者可以自行进行cmake编译,或者直接下载我编译整合好的文件(包括头文件,lib,和dll)


三、vs 2013 配置freeglut3.0

这个文件的配置方法和glut的配置一样

把include目录下的GL复制到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include下

把dll下的文件复制到c:\windows\system32 或 c:\windows\sysWow64下 (为了保险最好两个里都复制)

把lib下的文件复制到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib下

然后可以建一个win32控制台程序,把本文最后的代码复制到主程序,运行就好了。


三、除了上面的方法,这里提供另一种方法,将freeglut配置到自己的工程里 (如果完成了步骤三,这步可以跳过)

下面默认已经获得了头文件,lib和dll。

用vs创建一个c++控制台程序

在工程上右键,选择 [属性](最后一项)–> [VC++目录]

在【包含目录】中添加 freeglut3/include/GL,freeglut3是你解压的freeglut3包的位置,比如我的是

在【库目录中】添加 freeglut3/lib,freeglut3是你解压的freeglut3包的位置,比如我是


三、运行小程序

将下面代码加入主程序


    
    
  1. // opengltest.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include “stdafx.h”
  4. #define NDEBUG<span style=”white-space:pre”> </span>// 表示不使用debug的lib,使用release的lib,如果去除,将使用debug的lib
  5. #include <glut.h> <span style=”white-space:pre”> </span>// 如果这里编译报错,请改为 #include <gl/glut.h>
  6. void myDisplay(void)
  7. {
  8. glClear(GL_COLOR_BUFFER_BIT);
  9. glRectf( -0.5f, -0.5f, 0.5f, 0.5f);
  10. glFlush();
  11. }
  12. int main(int argc, char *argv[])
  13. {
  14. glutInit(&argc, argv);
  15. glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
  16. glutInitWindowPosition( 100, 100);
  17. glutInitWindowSize( 400, 400);
  18. glutCreateWindow( “第一个OpenGL程序”);
  19. glutDisplayFunc(&myDisplay);
  20. glutMainLoop();
  21. return 0;
  22. }

 运行结果如下:


四、用release模式运行:

如果直接删除上面代码中的

#define NDEBUG

程序可能运行时报错如下:

这个错误表明程序没有找到freeglut的dll文件,将freeglut3中的dll下的freeglut拷到工程的exe相同的目录中即可,比如我是

或者更普遍的做法是把这个dll复制到系统的dll库目录下,一般是C:\Windows\System32, 同时要确保该路径添加到了环境变量PATH中


一、freeglut3.0

freeglut是opengl的窗口工具库,源码下载地址 http://sourceforge.net/projects/freeglut/


二、获取预编译的头文件,lib和dll

freeglut2.x都是直接提供预编译库的,所以freeglut2.x的配置方法并不能直接适用于freeglut3.0。

freeglut3.0只提供源码和头文件,没有直接的lib库和dll库,但可以通过cmake编译生成。

读者可以自行进行cmake编译,或者直接下载我编译整合好的文件(包括头文件,lib,和dll)


三、vs 2013 配置freeglut3.0

这个文件的配置方法和glut的配置一样

把include目录下的GL复制到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include下

把dll下的文件复制到c:\windows\system32 或 c:\windows\sysWow64下 (为了保险最好两个里都复制)

把lib下的文件复制到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib下

然后可以建一个win32控制台程序,把本文最后的代码复制到主程序,运行就好了。


三、除了上面的方法,这里提供另一种方法,将freeglut配置到自己的工程里 (如果完成了步骤三,这步可以跳过)

下面默认已经获得了头文件,lib和dll。

用vs创建一个c++控制台程序

在工程上右键,选择 [属性](最后一项)–> [VC++目录]

在【包含目录】中添加 freeglut3/include/GL,freeglut3是你解压的freeglut3包的位置,比如我的是

在【库目录中】添加 freeglut3/lib,freeglut3是你解压的freeglut3包的位置,比如我是


三、运行小程序

将下面代码加入主程序


  
  
  1. // opengltest.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include “stdafx.h”
  4. #define NDEBUG<span style=”white-space:pre”> </span>// 表示不使用debug的lib,使用release的lib,如果去除,将使用debug的lib
  5. #include <glut.h> <span style=”white-space:pre”> </span>// 如果这里编译报错,请改为 #include <gl/glut.h>
  6. void myDisplay(void)
  7. {
  8. glClear(GL_COLOR_BUFFER_BIT);
  9. glRectf( -0.5f, -0.5f, 0.5f, 0.5f);
  10. glFlush();
  11. }
  12. int main(int argc, char *argv[])
  13. {
  14. glutInit(&argc, argv);
  15. glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
  16. glutInitWindowPosition( 100, 100);
  17. glutInitWindowSize( 400, 400);
  18. glutCreateWindow( “第一个OpenGL程序”);
  19. glutDisplayFunc(&myDisplay);
  20. glutMainLoop();
  21. return 0;
  22. }

 运行结果如下:


四、用release模式运行:

如果直接删除上面代码中的

#define NDEBUG

程序可能运行时报错如下:

这个错误表明程序没有找到freeglut的dll文件,将freeglut3中的dll下的freeglut拷到工程的exe相同的目录中即可,比如我是

或者更普遍的做法是把这个dll复制到系统的dll库目录下,一般是C:\Windows\System32, 同时要确保该路径添加到了环境变量PATH中


猜你喜欢

转载自blog.csdn.net/rcg714786690/article/details/81195910