计算机图形学的实验一头雾水,老师让我们在VC6的环境下配置好openGL的环境,三步两步就弄好了,无非是把库文件和头文件导入就行了。但是回到自己的笔记本上的VS2013好像就没那么简单了。
首先我不知道上课考试给的文件还适不适合,所以又从网上找到了VS2013的配置文件,这里要感谢CSDN的the__blue__sky老师,他的配置说明详细完整,让我初步完成了配置。下面是他的原文,现转贴如下,以飨读者。
参考资料:《Visual C++ 编译链接信息手册》
OpenGL配置文件在上传资源中
笔者的开发环境是:Windows7旗舰版 VS2013
动态DLL库的配置
路径:C:\Windows\System32
与Opengl有关的库一共有7个
glu32.dll和opengl32.dll在C:\Windows\System32\下存在,所以没有复制
其他库是glew32.dll,GLU.DLL,GLUT.DLL,GLUT32.DLL,OPENGL.DLL
静态Lib库的配置
路径:D:\Program Files\Microsoft Visual Studio 12.0\VC\lib
加入的文件有G开头的文件以及open开头的文件,一共有10个文件
它们是:GLAUX.LIB,glew32.lib,glew32s.lib,glu.lib,GLU32.LIB,glui32.lib,glut.lib,GLUT32.LIB,opengl.lib,OPENGL32.LIB
头文件的配置
路径:D:\Program Files\Microsoft Visual Studio 12.0\VC\include\GL
GL文件夹是专门储存OpenGl头文件
在工程属性中设置
在 VC 中打开项目->属性对话框进行如下设置:
将“配置”下拉框选则为“所有配置”
打开“链接器--输入”项
在“附加依赖项”中增加:
OpenGL32.lib
glu32.lib
glut32.lib
注意事项:开发基于MFC的OpenGL程序时,把glut32.lib去掉,否则报错。
报错内容是:error LNK1104: 无法打开文件“glut32.lib”
一种解释是:
MFC中的视图源文件不包含#include "gl/glut.h",自然是用不到glut32.lib
#include "gl/gl.h"
#include "gl/glu.h"
当我做完这些后,程序运行时又出现了以下错误:
1>test.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用
后来查看到孤鹜齐飞的博客,说“ 在程序的最上面增加一行 #define GLUT_DISABLE_ATEXIT_HACK 就可以了”,测试之后问题好像没有解决,
之后又参考到飞扬飞扬xyz的博客:
解决方法:
1.工程属性->配置(设为‘所有配置’)->配置属性->C/C++->预处理器定义(设为‘GLUT_BUILDING_LIB’)
2.工程属性->配置(设为‘活动(Debug)’)->链接器->系统->子系统(设为‘控制台(/SUBSYSTEM:CONSOLE)’)
问题终于圆满解决了,在此对以上的老师们表示感谢。