error C2381: “exit”: 重定义;__declspec(noreturn) 不同
问题:
error C2381: “exit” : 重定义;__declspec(noreturn) 不同
解决办法:
调换一下头文件的包含次序:
#include <GL/glut.h>
#include <stdlib.h>
改成:
#include <stdlib.h>
#include <GL/glut.h>
问题:
编译OpenGL工程时,在lib库,dll文件都放对位置的情况下,常出现如下的编译错误:
1>------ 已启动生成: 项目: ConsoleApplication4, 配置: Debug Win32 ------
1> 源.cpp
1>源.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 个无法解析的外部命令
解决办法:
原因是:
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