问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
看OpenGL超级宝典的时候,遇到一个函数 “gltDrawTorus”,在TRANSFORM和SPHEREWORLD中都有用到。但是一开始在自己写示例代码里时却没法使用,而在作者的代码目录结构下却可以使用。由于作者说SPHEREWORLD这个例子还要用,我就狠下心来研究了一个简单的解决方案,顺便把过程记录下来,以便追思。
在不使用作者的frame类的时候,我都是直接调用glut.h,所以刚开始编译时遇到了:
1error C3861: “gltDrawTorus”: 找不到标识符
解决方法:尝试了添加作者shared文件夹下的各种头文件结果没有成功,于是妥协了尝试使用作者的gltools.h文件,再次编译遇到了:
2error LNK2019: 无法解析的外部符号 "void __cdecl gltDrawTorus(float,float,int,int)" (?gltDrawTorus@@YAXMMHH@Z),该符号在函数 "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ) 中被引用
1>D:\WLSCode\Transform\Debug\Transform.exe : fatal error LNK1120: 1 个无法解析的外部命令
解决方法:在VS2010中查看了“gltools.h”文件中的内容,发现#include "glee.h"和#include "glut.h"一行的#include被标红了,于是想到可能是文件路径有问题。鉴于“glut.h”文件在配置OpenGL环境的时候被放在了“C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl”中,所以我进行了下面的配置:
将作者shared文件夹下的GLee.h、glframe.h、glfrustum.h、gltools.h、math3d.h、wglext.h文件复制到“C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl”中。(我把头文件都拷贝过去了,省得以后还要再添加。)
这样一来代码中的引用就改为:#include "gl/XXXXXX.h"
再次编译链接成功。(当然添加了头文件,就要在工程中相应的添加Glee.c、gltools.cpp、math3d.cpp,这我就不多说了。)


问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决的更多相关文章
- 问题解决——OpenGL超级宝典 第四章 4.5.2 关于freeglut.lib问题的解决过程
看<OpenGL超级宝典(第四版)>的4.5.2节时遇到了一系列问题,经过不懈努力终于解决,现将过程记录在下,以便查找追思. 在第4.5.2节之前,自己写的的代码都没有使用作者的gltoo ...
- OpenGL超级宝典visual studio 2013开发环境配置,GLTools
做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及 ...
- win8+VS2012搭建OpenGL超级宝典的环境
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/booirror/article/details/36957799 自从公司搬到腾讯附近,每天上班都迟 ...
- OpenGL超级宝典笔记----框架搭建
自从工作后,总是或多或少的会接触到客户端3d图形渲染,正好自己对于3d图形的渲染也很感兴趣,所以最近打算从学习OpenGL的图形API出发,进而了解3d图形的渲染技术.到网上查了一些资料,OpenGL ...
- 《OpenGL超级宝典》编程环境配置
最近在接触OpenGL,使用的书籍就是那本<OpenGL超级宝典>,不过编程环境的搭建和设置还是比较麻烦的,在网上找了很多资料,找不到GLTools.lib这个库.没办法自己就借助源码自己 ...
- 【极简版】OpenGL 超级宝典(第五版)环境配置 VS2010
事先声明:该教程仅适用于VS2010环境下超级宝典第五版的配置 第一步:下载示例代码和环境包: 链接:https://pan.baidu.com/s/1llRRQ8ymBgMGuXp5M50pJw 提 ...
- OpenGL超级宝典第5版&&缓冲区
缓冲区有很多用途:可以保存顶点数据,像素数据,纹理数据,着色器处理的输入,不同着色器阶段的输出. 缓冲区保存在GPU内存中,提供高速有效的访问. 像素缓冲区对象: GLuint pixBuffer ...
- OpenGL超级宝典笔记——深度纹理和阴影 【转】
目录[-] 光源视角 新型的纹理 深度纹理的大小 首先绘制阴影 然后是光照 投影阴影贴图 阴影比较 之前我们介绍过简单的把物体压平到投影平面来制造阴影.但这种阴影方式有其局限性(如投影平面须是平面). ...
- [OpenGL超级宝典]专栏前言
我小时候的梦想呢,是做宇航员或者科学家或者是做一款属于自己的游戏,后来前面两个梦想都没有实现,于是我就来实现我的第三个梦想了,,,我呢,也算是零基础,因为我的专业是物联网工程,这个专业覆盖面之广,简直 ...
随机推荐
- Java魔法堂:Date与日期时间格式化
一.前言 日期时间的获取.显 ...
- js页面跳转整理(转载未整理)
js方式的页面跳转1.window.location.href方式 <script language="JavaScript" type="text/java ...
- MVC WebApi跨域ajax接受post数据笔记
后端api代码示例: [HttpPost] public string callbackUrl([FromBody]SZRCallBackModel cbm) { try { if (cbm == n ...
- WebApi传参总动员(二)
上篇,从最简单的string入手.本篇演示了从请求的输入流中获取实体.api: public class ValuesController : ApiController { [HttpPost] p ...
- 重新想象 Windows 8.1 Store Apps (78) - 控件增强: ScrollViewer, FlipView, Popup
[源码下载] 重新想象 Windows 8.1 Store Apps (78) - 控件增强: ScrollViewer, FlipView, Popup 作者:webabcd 介绍重新想象 Wind ...
- csharp:引入app.manifest,程序在win7下以管理员权限运行配置方法
https://msdn.microsoft.com/en-us/library/windows/desktop/hh848036(v=vs.85).aspx https://msdn.microso ...
- WCF使用泛型方法的问题
public IList getModelList(string type, string SQL, List<string> list){ try { IList Mlist = new ...
- 重大发现Discuz DB层跨库映射关系表名前缀BUG
本文更新:http://www.cnblogs.com/x3d/p/3916198.html 场景: 在Discuz中创建Table模型,但该Table所在库与Discuz不在同一个库. Discuz ...
- Shiro 整合SpringMVC 并且实现权限管理,登录和注销
Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大 ...
- 访问WEB-INFO 目录注意事项
WEB-INF下面的内容都是只能由服务器级别才能访问,客户端并不能访问.什么是客户端级别?什么是服务器级别呢? 转发就是服务器级别,浏览器的地址不会变,因为,客户端发送一个请求,服务器受理之后,发现要 ...