OpenGL初学:安装配置与第一个程序

2014年10月12日 12:37:03 process-z 阅读数:12413 标签: opengl安装教程 更多

个人分类: OpenGL
 

计算机图形学要用到OpenGL,我把我安装的过程和其中遇到的一些问题记录下,希望对OpenGL的初学者有帮助^ ^

OpenGL简介:

OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD[2] 、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。(摘自百度百科

配置教程:

要使用OpenGL,必须有配套的.dll,.lib,.h文件,可以在这里下载。

下载好后如下图所示

1、复制.dll文件(如glu.dll等文件)到系统盘c:\windows\system32中。在64位系统中要复制到C:\Windows\SysWOW64这个文件夹。

2、复制.h文件(如gl.h 等文件)到Visual c++ 的安装目录下。
 以我的为例E:\vs2012\VC\include\GL下,一般都会有GL文件夹的,没有的话新建一个就行了。
 
3、复制.lib文件(如glaux.lib等) 到你的编译器所在目录的lib文件夹,以我的为例E:\vs2012\VC\lib。

注意:如果上面的这些文件夹里本来就有这些文件,请看一下与上面提供的文件是不是一个版本的,即修改日期、文件大小等是否一样,如果不一样最好用上面提供的覆盖掉,所有的.lib,.h,.dll文件要是同一个版本,不然会出现问题,如下图,就是我的glut32.dll和glut.h不是一个版本造成的。

第一个OpenGL程序

做完上面的工作,就基本配置好了,下面让我们来写第一个opengl程序,来检验一下

打开vs,选择新建工程,新建一个win32控制台应用程序(Win32 Console Application)

选择“空项目”

添加新建项,我这里叫OpenGL.c,注意,是.c为扩展名的C语言程序。

下面就是写代码啦,这里提供一个测试程序

  1.  
    #include <GL/glut.h>
  2.  
     
  3.  
    void myDisplay(void)
  4.  
    {
  5.  
    glClear(GL_COLOR_BUFFER_BIT);
  6.  
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
  7.  
    glFlush();
  8.  
    }
  9.  
     
  10.  
    int main(int argc, char *argv[])
  11.  
    {
  12.  
    glutInit(&argc, argv);
  13.  
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
  14.  
    glutInitWindowPosition(100, 100);
  15.  
    glutInitWindowSize(400, 400);
  16.  
    glutCreateWindow("第一个OpenGL程序");
  17.  
    glutDisplayFunc(&myDisplay);
  18.  
    glutMainLoop();
  19.  
    return 0;
  20.  
    }

该程序的作用是在一个黑色的窗口中央画一个白色的矩形。如下图

如果和上图一样,就说明配置好了,下面就是自己写程序了。

出错处理

1)

error LNK2019: unresolved external symbol __imp__glFlush@ 这类的错误


1>PT.obj : error LNK2019: 无法解析的外部符号 _auxSolidSphere@8,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitWindowA@4,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitPosition@16,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitDisplayMode@4,该符号在函数 _main 中被引用

原因是没有在附加依赖项中添加如上lib 文件

解决方法:项目——项目属性——配置属性——链接器——输入——附加依赖项,添加
 
glut32.lib Opengl32.lib Glu32.lib glaux.lib

2)

error C2664: “auxInitWindowW”: 不能将参数 1 从“const char [7]”转换为“LPCWSTR”
    与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

错误及解决方案: 
    not passing in a Unicode string - put an "L" before the string literal: L"XXXXX" or use the TEXT("XXXXX") or _T("XXXXX") macros...

最后

推荐一个很好的OpenGL的学习网站http://www.yakergong.net/nehe/

END

OpenGL初学:安装配置与第一个程序

2014年10月12日 12:37:03 process-z 阅读数:12413 标签: opengl安装教程 更多

个人分类: OpenGL
 

计算机图形学要用到OpenGL,我把我安装的过程和其中遇到的一些问题记录下,希望对OpenGL的初学者有帮助^ ^

OpenGL简介:

OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD[2] 、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。(摘自百度百科

配置教程:

要使用OpenGL,必须有配套的.dll,.lib,.h文件,可以在这里下载。

下载好后如下图所示

1、复制.dll文件(如glu.dll等文件)到系统盘c:\windows\system32中。在64位系统中要复制到C:\Windows\SysWOW64这个文件夹。

2、复制.h文件(如gl.h 等文件)到Visual c++ 的安装目录下。
 以我的为例E:\vs2012\VC\include\GL下,一般都会有GL文件夹的,没有的话新建一个就行了。
 
3、复制.lib文件(如glaux.lib等) 到你的编译器所在目录的lib文件夹,以我的为例E:\vs2012\VC\lib。

注意:如果上面的这些文件夹里本来就有这些文件,请看一下与上面提供的文件是不是一个版本的,即修改日期、文件大小等是否一样,如果不一样最好用上面提供的覆盖掉,所有的.lib,.h,.dll文件要是同一个版本,不然会出现问题,如下图,就是我的glut32.dll和glut.h不是一个版本造成的。

第一个OpenGL程序

做完上面的工作,就基本配置好了,下面让我们来写第一个opengl程序,来检验一下

打开vs,选择新建工程,新建一个win32控制台应用程序(Win32 Console Application)

选择“空项目”

添加新建项,我这里叫OpenGL.c,注意,是.c为扩展名的C语言程序。

下面就是写代码啦,这里提供一个测试程序

  1.  
    #include <GL/glut.h>
  2.  
     
  3.  
    void myDisplay(void)
  4.  
    {
  5.  
    glClear(GL_COLOR_BUFFER_BIT);
  6.  
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
  7.  
    glFlush();
  8.  
    }
  9.  
     
  10.  
    int main(int argc, char *argv[])
  11.  
    {
  12.  
    glutInit(&argc, argv);
  13.  
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
  14.  
    glutInitWindowPosition(100, 100);
  15.  
    glutInitWindowSize(400, 400);
  16.  
    glutCreateWindow("第一个OpenGL程序");
  17.  
    glutDisplayFunc(&myDisplay);
  18.  
    glutMainLoop();
  19.  
    return 0;
  20.  
    }

该程序的作用是在一个黑色的窗口中央画一个白色的矩形。如下图

如果和上图一样,就说明配置好了,下面就是自己写程序了。

出错处理

1)

error LNK2019: unresolved external symbol __imp__glFlush@ 这类的错误


1>PT.obj : error LNK2019: 无法解析的外部符号 _auxSolidSphere@8,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitWindowA@4,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitPosition@16,该符号在函数 _main 中被引用
1>PT.obj : error LNK2019: 无法解析的外部符号 _auxInitDisplayMode@4,该符号在函数 _main 中被引用

原因是没有在附加依赖项中添加如上lib 文件

解决方法:项目——项目属性——配置属性——链接器——输入——附加依赖项,添加
 
glut32.lib Opengl32.lib Glu32.lib glaux.lib

2)

error C2664: “auxInitWindowW”: 不能将参数 1 从“const char [7]”转换为“LPCWSTR”
    与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

错误及解决方案: 
    not passing in a Unicode string - put an "L" before the string literal: L"XXXXX" or use the TEXT("XXXXX") or _T("XXXXX") macros...

最后

推荐一个很好的OpenGL的学习网站http://www.yakergong.net/nehe/

END

OpenGL初学:安装配置与第一个程序的更多相关文章

  1. Android Studio安装、配置、第一个程序的那些坑

    最近在上Android课,老师布置了量大题难的作业,然而出师未捷身先死,还没看题目,就被Android Studio的安装和环境配置搞得要死要死的,网上的教程也多也杂,良莠不齐,在经历了5小时通过的搜 ...

  2. java 环境变量配置与第一个程序运行

    从开始下载jdk,到运行出java第一个程序 ,花了5天时间 ,不过我相信万事开头难 ,以后会越来越好的 ,加油! jdk的下载: 在oracle官网上即可下载,jdk安装包,下载完以后运行安装 ,路 ...

  3. Android开发环境配置到第一个程序所遇到的问题

    1.安装顺序 先jdk,最后是1.7或1.8吧,配置环境变量:然后是sdk,配置环境变量:sdk安装之后即可以通过SDK Manager进行其他包的安装. 2.sdk及其他包的安装,以一张图表示,对于 ...

  4. ubuntu16.04环境下安装配置openface人脸识别程序

    参考http://blog.csdn.net/weixinhum/article/details/77046873 最近项目需要用到人脸训练和检测的东西,选用了OpenFace进行,因而有此文. 本人 ...

  5. Windows10 安装配置IIS,并将程序发布到服务器上

    1.确保计算机链接网络(也可在不联网的时候使用安装包进行IIS的安装): 2.打开“控制面板”(“菜单”按钮+x 快捷键)——“程序”——“打开或关闭Windows功能”——展开“Internet信息 ...

  6. linux 下的OpenGL的安装配置

    https://blog.csdn.net/qq_38228254/article/details/78521155 本人亲测有效

  7. windows + flutter +android+ vscode 安装配置运行流程(详细版本)

    flutter 是由谷歌发布的一个全新的响应式.跨平台.高性能的移动开发框架,可以快速在iOS和Android上构建高质量的原生用户界面. 框架特点 快速开发:Flutter的热重载可以快速地进行测试 ...

  8. opengl 和 vs2010的安装配置

    1.先安装vs2010, 输个激活秘钥 2.Windows 7下OpenGL如何配置,配置glut:    http://jingyan.baidu.com/article/b0b63dbfd1c08 ...

  9. Node.js入门教程:Node.js如何安装配置并部署第一个网站

    前言:作为一个资深的前端开发人员,不懂的Node.js 那你绝对是不能跟别人说你是资深的前端程序猿滴! 今天洋哥就来和大家一起学习被大牛称之为前端必学的技能之一Node! 那么Node到底是什么呢? ...

随机推荐

  1. 【读书笔记】iOS-自定义URL Scheme注意事项

    如果两个不同的应用注册了同样的URL Scheme,那么后安装的应用会响应符合这种协议格式的URL. 如果你的应用的iPhone和iPad版是各自独立的(即不是Universal类型的),那么你就不应 ...

  2. Netatalk CVE-2018–1160 越界访问漏洞分析

    编译安装 首先下载带有漏洞的源代码 https://sourceforge.net/projects/netatalk/files/netatalk/3.1.11/ 安装一些依赖库(可能不全,到时根据 ...

  3. plt 数据可视化

    1.plt.plot(x,y,color) 折线坐标图 import matplotlib.pyplot as plt h = np.linspace(1, 10, 10) v = np.linspa ...

  4. springcloud 入门 8 (config配置中心)

    Spring Cloud Config: 配置中心为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件,它就是Spring Cloud Config. 在分布式系统中,由于服务数量巨多, ...

  5. python爬虫之Beautifulsoup学习笔记

    相关内容: 什么是beautifulsoup bs4的使用 导入模块 选择使用解析器 使用标签名查找 使用find\find_all查找 使用select查找 首发时间:2018-03-02 00:1 ...

  6. [20171225]RMAN-06808: SECTION SIZE cannot be used when piece limit is in effect.txt

    [20171225]RMAN-06808: SECTION SIZE cannot be used when piece limit is in effect.txt --//朋友拿我的一些例子来测试 ...

  7. 洗礼灵魂,修炼python(18)--温故加知新

    类型转换: 1.str(),repr(),format():将非字符串数据转换为字符串 str():对象序列化的结果,相当于print输出 repr():程序中某个对象精确值 format():利用特 ...

  8. godaddy.com 都转到 www.dnspod.cn

    我们在godaddy上注册了域名,但因为godaddy对域名解析的诸多限制和缓慢. 所以必需把域名服务器更改为dnspod上,然后再在dnspod上做A记录,CNAME等设置都很方便.

  9. <20190106>千兆 小型局域网传输速率不达标问题解决

    故障描述: 三层交换机下挂了 个一层交换机, 全部交换终端包括路由器传输界面意确认全是千兆设备, 其中NAS端到 主机1 的传输速度只有100Mb, 观察主机1 的网络配置,确实连接速度是 100Mb ...

  10. Flex布局新写法兼容写法详解

    很久之前用过flex,但是没有考虑过兼容性问题,为了兼容ios一定要加上-webkit前缀: ul{ display: flex; /* 新版本语法: Opera 12.1, Firefox 22+ ...