問題:
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
