vs2013 配置 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++控制台程序

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第1张图片

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

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第2张图片

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

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第3张图片

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

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第4张图片


三、运行小程序

将下面代码加入主程序

// opengltest.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#define NDEBUG					// 表示不使用debug的lib,使用release的lib,如果去除,将使用debug的lib
#include   				// 如果这里编译报错,请改为 #include 
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;
}

 运行结果如下:

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第5张图片


四、用release模式运行:

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

#define NDEBUG

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

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第6张图片

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

vs2013 配置 freeglut3.0(opengl的窗口系统库)_第7张图片

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


你可能感兴趣的:(vs2013 配置 freeglut3.0(opengl的窗口系统库))