问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
2013-09-09 22:53
316 查看
看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,这我就不多说了。)
![](http://img.my.csdn.net/uploads/201309/09/1378738390_6276.png)
在不使用作者的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,这我就不多说了。)
![](http://img.my.csdn.net/uploads/201309/09/1378738390_6276.png)
![](http://img.my.csdn.net/uploads/201309/09/1378737713_5269.png)
相关文章推荐
- 问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
- 问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
- 问题解决——OpenGL超级宝典 第四章 4.5.2 关于freeglut.lib问题的解决过程
- 问题解决——OpenGL超级宝典 第四章 4.5.2 关于freeglut.lib问题的解决过程
- 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题
- 关于Eclipse中项目提示错误而文件不显示错误问题的解决
- 关于多次颁发ios开发证书后,真机调试的错误问题解决
- 关于Android中AdbWinApi.dll没有被指定在Windows上运行,或者它包含错误的问题解决
- 关于SqlServer2005的jdbc连接的TCP/IP错误问题解决
- 关于vs2013中printf printf_s的错误问题的解决方法
- 关于MessageQueue-JNI的错误问题解决
- 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题
- mybatis动态sql解决关于There is no getter for property named 'certitype'错误问题
- 使用android OpenGL时出现的java.lang.IllegalArgumentException: Must use a native order direct Buffer错误问题解决
- 关于错误:无法打开源文件"CCVector.h"这类问题的解决方法
- 关于解决弹出”存储空间不足,无法完成此操作“的错误问题
- 关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- 关于"xampp中mysql中配置问题:Unknown initial character set index '48' received from server错误解决方法"
- 解决如何使用opengl超级宝典中实例代码及shared文件夹里的库
- 关于unix下tar解压时的两个错误问题及解决方法