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 SDKs\Windows\v7.0A\Include\gl​

2.将glut.lib和glut32.lib放到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib(这个我的安装路径)​

3.将glut.dll和glut32.dll放到C:\WINDOWS\system32

 

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)’)