关闭

编译glut

标签: glut编译opengl环境
431人阅读 评论(0) 收藏 举报
分类:

用vs2012编辑freeglut,

vs2012的使用可以参考

http://blog.csdn.net/arkadia2/article/details/52084211

1.下载

http://freeglut.sourceforge.net/下载freeglut 3.0.0

解压后的文件目录如下

2.搭建

2.1 新建解决方案opgltest和空项目main,目录结构如下

2.2 新建空项目freeglut,设置为dll项目

3. 增加属性页all

作为所有项目通用,freeglut和main都参用之,设置用户宏

其中SrcDir为项目源代码目录,BinDir为生成可运行程序目录,LibDir为产生的库文件(.lib)目录

4.freeglut项目添加源文件

4.1 复制freeglut的include,src代码到src/freeglut

4.2 vs2012建筛选器,添加现有文件,导入include目录,src/mswin,src/util,和src下fg_XXX文件(不要导入gles_stubs.c

4.3 设置freeglut项目属性

4.3.1 添加附包include目录$(GlutIndDir)

4.3.2 添加预处理宏

FREEGLUT_EXPORTS
_CRT_SECURE_NO_WARNINGS
NEED_XPARSEGEOMETRY_IMPL

4.3.3 添加生成事件,复制库文件到$(LibDir),dll文件到($BinDir),为后面的main项目作准备

copy $(OutDir)$(TargetName)$(TargetExt) $(BinDir)
copy $(OutDir)$(TargetName).lib $(LibDir)

编译,应该会生成freeglut.lib,freeglut.dll

5.使用freeglut

5.1 添加main.cpp到main项目,代码如下

#include <cstdio>
#include "GL/glut.h"

void display() {

}

int main(int argc, char** args) {
	glutInit(&argc, args);
	glutInitWindowPosition(100, 100);   
	glutInitWindowSize(800, 480);   
	glutInitDisplayMode(GLUT_RGBA);   

	glutCreateWindow("opgltest");   

	glutDisplayFunc(display);   

	const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
	const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
	const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
	const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本
	printf("OpenGL实现厂商的名字:%s\n", name);
	printf("渲染器标识符:%s\n", biaoshifu);
	printf("OpenGL实现的版本号:%s\n",OpenGLVersion );
	printf("OGLU工具库版本:%s\n", gluVersion);

	glutMainLoop();   
	return EXIT_SUCCESS;
}

5.2 设置main项目属性

5.2.1 添加附加包含目录$(GlutIndDir)

6.2.2 添加预处理宏

NDEBUG

这里主要是因为glut内部已经使用了宏来告诉链接器要链接的库文件

5.2.3 添加附加库目录$(LibDir)

5.2.4 添加附加库文件freeglut.lib,这一步可以不用。因为定义了NDEBUG

5.2.5 添加生成事件

copy $(OutDir)$(TargetName)$(TargetExt) $(BinDir)

编译,运行


0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3279次
    • 积分:123
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类