转载  http://blog.csdn.net/xiajun07061225/article/details/6938740

我在运行《OpenGL编程指南(第六版)》中文版第142页的程序blendeqn.c时,遇到错误:

1>------ 已启动生成: 项目: blendeqn, 配置: Debug Win32 ------
1>正在编译...
1>blendeqn.cpp
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(23) : error C2065: 
“GL_FUNC_ADD”: 未声明的标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(23) : error C3861: 
“glBlendEquation”: 找不到标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(26) : error C2065: 
“GL_FUNC_SUBTRUCT”: 未声明的标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(26) : error C3861: 
“glBlendEquation”: 找不到标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(29) : error C2065: 
“GL_FUNC_REVERSE_SUBTRUCT”: 未声明的标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(29) : error C3861: 
“glBlendEquation”: 找不到标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(32) : error C2065: 
“GL_FUNC_MIN”: 未声明的标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(32) : error C3861: 
“glBlendEquation”: 找不到标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(35) : error C2065: 
“GL_FUNC_MAX”: 未声明的标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(35) : error C2143: 语法错
误 : 缺少“)”(在“;”的前面)
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(35) : error C3861: 
“glBlendEquation”: 找不到标识符
1>e:\学习\程序练习\opengl\blendeqn\blendeqn\blendeqn.cpp(38) : error C3861: 
“exit”: 找不到标识符
1>生成日志保存在“file://e:\学习\程序练习\OpenGL\blendeqn\blendeqn\Debug
\BuildLog.htm”
1>blendeqn - 12 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

出错原因是:glBlendEquation是OpenGL扩展部分的函数。解决方法是安装OpenGL的glew扩展库。

我的编译环境:VS2008。

首先下载glew库:http://glew.sourceforge.net/

然后进行安装:

拷贝glew32.dll至system32文件夹下,拷贝glew32.lib至VC目录下lib文件夹,拷贝glew.h和wglew.h至VC目录下include/GL目录下。

在程序开始要导入头文件:#include <GL/glew.h>。

其次还要导入库文件glew32.lib:

初始化glew:

可以在init函数开始处初始化(注意:这一步是非常必要的,不然会出现奇怪的错误!):

glewInit();

不加这句代码的话,应用程序会出现下列错误:

还可以加入错误处理代码。

编译运行,成功。

完整代码:

[cpp] view plaincopyprint?
  1. #include <GL/glew.h>
  2. #include <GL/glut.h>
  3. #include <stdlib.h>
  4. void init()
  5. {
  6. glewInit();
  7. glClearColor(1.0,1.0,0.0,0.0);
  8. glBlendFunc(GL_ONE,GL_ONE);
  9. glEnable(GL_BLEND);
  10. }
  11. void display()
  12. {
  13. glClear(GL_COLOR_BUFFER_BIT);
  14. glColor3f(0.0,0.0,1.0);
  15. glRectf(-0.5,-0.5,0.5,0.5);
  16. glFlush();
  17. }
  18. void keyboard(unsigned char key,int x,int y)
  19. {
  20. switch(key)
  21. {
  22. case 'a':case 'A':
  23. glBlendEquation(GL_FUNC_ADD);
  24. break;
  25. case 's':case 'S':
  26. glBlendEquation(GL_FUNC_SUBTRACT);
  27. break;
  28. case 'r':case 'R':
  29. glBlendEquation(GL_FUNC_REVERSE_SUBTRACT);
  30. break;
  31. case 'm':case 'M':
  32. glBlendEquation(GL_MIN);
  33. break;
  34. case 'x':case 'X':
  35. glBlendEquation(GL_MAX);
  36. break;
  37. case 27:
  38. exit(0);
  39. break;
  40. }
  41. glutPostRedisplay();
  42. }
  43. int main(int argc,char** argv)
  44. {
  45. glutInit(&argc,argv);
  46. glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  47. glutInitWindowSize(500,500);
  48. glutInitWindowPosition(100,100);
  49. glutCreateWindow(argv[0]);
  50. init();
  51. glutDisplayFunc(display);
  52. glutKeyboardFunc(keyboard);
  53. glutMainLoop();
  54. return 0;
  55. }

运行结果:

【OpenGL】OpenGL安装glew扩展库相关推荐

  1. 安装python扩展库时只能使用pip_安装 Python 扩展库时只能使用 pip 工具在线安装,如果安装不成功就没有别的办法了。_学小易找答案...

    [单选题]关于Python中的复数,下列说法错误的是_________________. [填空题]在Python程序中,导入sys模块后,可以通过列表________________访问命令行参数. ...

  2. python安装第三方扩展包_Python之安装第三方扩展库

    PyPI 地址:https://pypi.python.org/pypi 如果你知道你要找的库的名字,那么只需要在右上角搜索栏查找即可. 1.pip安装扩展库 (1)安装最新版本的扩展库: cmd&g ...

  3. php7.1 phpize编译gd,centos 7 下用 phpize安装GD扩展库

    yum 安装 开启GD库需要的模块 freetype ,jpegsrc,libpng 用phpize安装 查询php 开启模块 查询 phpize扩展安装 下载目录:/usr/src/freetype ...

  4. php非默认安装的扩展库,PHP安装新的扩展库

    在搭建LAMP环境时,apache和php都是自己手动安装的,只安装了php的默认的扩展库.在用到curl时才发现curl扩展库没有加载. 就只好手动安装了. 1.切换到我下载的php源码文件夹中. ...

  5. php非默认安装的扩展库,PHP安装新的扩展库_PHP教程

    在搭建LAMP环境时,apache和php都是自己手动安装的,只安装了php的默认的扩展库.在用到curl时才发现curl扩展库没有加载. 就只好手动安装了. 1.切换到我下载的php源码文件夹中. ...

  6. python扩展包安装_Python扩展库的安装方法

    本文讨论Python扩展库的安装方法 版权声明 本文可以在互联网上自由转载,但必须:注明出处(作者:海洋饼干叔叔)并包含指向本页面的链接. 本文不可以以纸质出版为目的进行改编.摘抄. 使用pip进行安 ...

  7. cents OS7 使用phpize安装php扩展库,生成.so文件(超详细)

    举个栗子:本次安装openssl拓展 一.扩展库检查 1.找到php安装目录 find / -name php 在/usr/local/php 2.进入拓展库检查ssh2是否存在 /usr/local ...

  8. php gd扩展库,linux/windows安装php-gd扩展库

    linux系统篇 1.CentOS系统 关于GD扩展 gd扩展是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表.图形.缩略图以及其他图像的处理操作.gd扩展支持JPG ...

  9. Python+Word:我已经使用“pip install docx”命令安装了扩展库docx,为什么无法运行书上的代码操作Word文件呢?

    操作Word文件的扩展库名字叫python-docx,不是docx.另外要注意,扩展库python-docx只能操作Word 2007或更新版本的文档,不能处理Word 2003之前的文档.

  10. phpstudy安装imagick扩展库怎么装

    最近的PHP项目中,需要用到切图和缩图的效果,在linux测试服务器上很轻松的就安装好php imagick扩展.但是在本地windows开发环境,安装过程遇到好多问题,在此与大家分享. 1. 下载 ...

最新文章

  1. 反思脑机接口技术:机器真的能控制我们的大脑吗?
  2. 一文看懂BATH新基建:5G是基础,AI是内核
  3. FD.io/VPP — VPP 的实现原理解析
  4. HTML课堂笔记02-21
  5. Eclipse和MyEclipse相关的快捷键
  6. 如何从管理IT服务提供商获得最大收益
  7. LintCode 1671. 玩游戏(贪心、难)
  8. 解决Windows资源管理器右键菜单打开EditPlus容易导致资源管理器无响应问题
  9. 使用Mysql进行分页与排序
  10. 用Python做一个无限弹窗
  11. “谷歌浏览器无法从该网站添加应用、拓展程序和用户脚本”问题解决
  12. Spring注解开发配置
  13. mapboxgl地图分屏
  14. 服务器维护简单的备份方案,几种常见的数据备份方案分享
  15. MySQL 数据库存储引擎
  16. 一个IT售前咨询顾问是如何工作和生活的?
  17. 根据所选日期、当前日期计算一周的日期和星期,农历
  18. 基于java springboot美容美发美甲预约小程序源码
  19. Mac的环境配置的详细步骤
  20. 庆科信息阿里IoT“物联网创新应用大赛”正式开战

热门文章

  1. elcipse 编译cocos2d-x android
  2. winform制作简单计算器
  3. centos Apache、php、mysql默认安装路径
  4. UVa 674 - Coin Change
  5. 【连载】【FPGA黑金开发板】NIOS II那些事儿--SDRAM实验(十二)
  6. 第三季-第1课-程规划与学习方法
  7. 数据--第43课 - 图课后练习
  8. 凸优化第五章对偶 5.6 扰动及灵敏度分析
  9. Power BI连接至Amazon Redshift
  10. ElasticSearch5.1 基本概念和配置