error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12

来源:互联网 发布:unity3d xlua 视频 编辑:程序博客网 时间:2024/06/03 14:35

编译OpenGL工程时,在lib库,dll文件都放对位置的情况下,常出现如下的编译错误:

1>------ 已启动生成:  项目: ConsoleApplication4, 配置: Debug Win32 ------1>  源.cpp1>源.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用1>源.obj : error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用1>D:\Program Files\Visual Studio Ultimate 2013\Projects\ConsoleApplication4\Debug\ConsoleApplication4.exe : fatal error LNK1120: 2 个无法解析的外部命令========== 生成:  成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

原因是:

glut.h的注释:
   Note that the __glut*WithExit routines should NEVER be called directly.
   To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. 
解决方案:

在#include <GL/glut.h>前面加上了一句:
#define GLUT_DISABLE_ATEXIT_HACK

2 0