2015-11-09 22:25
VC6中工程创建:
(1)创建一个Win32 Console Application。(以我创建的为例,工程名为simpleGL) (2)链接OpenGL libraries:在Visual C++中先单击Project,再单击Settings,再找到Link单击,最后在Object/library modules 的最前面加上opengl32.lib Glut32.lib Glaux.lib glu32.lib 。 (3)单击Project Settings中的C/C++标签,将Preprocessor definitions 中的_CONSOLE改为__WINDOWS。最后单击OK。
.1将其中的glut.h放到C:Program Files (x86)Microsoft SDKsWindowsv7.0AIncludegl
2.将glut.lib和glut32.lib放到C:Program Files (x86)Microsoft Visual Studio 10.0VClib(这个我的安装路径)
3.将glut.dll和glut32.dll放到C:WINDOWSsystem32
VS2013中创建工程:
在工程属性中设置
在 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)’)