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

来源:互联网 发布:免费手机文字识别软件 编辑:程序博客网 时间:2024/06/10 19:42

一、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包的位置,比如我是


三、运行小程序

将下面代码加入主程序

// opengltest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#define NDEBUG<span style="white-space:pre"></span>// 表示不使用debug的lib,使用release的lib,如果去除,将使用debug的lib#include <glut.h>  <span style="white-space:pre"></span>// 如果这里编译报错,请改为 #include <gl/glut.h>void myDisplay(void){glClear(GL_COLOR_BUFFER_BIT);glRectf(-0.5f, -0.5f, 0.5f, 0.5f);glFlush();}int main(int argc, char *argv[]){glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(100, 100);glutInitWindowSize(400, 400);glutCreateWindow("第一个OpenGL程序");glutDisplayFunc(&myDisplay);glutMainLoop();return 0;}

 运行结果如下:


四、用release模式运行:

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

#define NDEBUG

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

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

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


4 0