error C2381: 「exit」: 重定義;__declspec(noreturn) 不一樣

問題:

error C2381: 「exit」 : 重定義;__declspec(noreturn) 不一樣

解決辦法:函數

 調換一下頭文件的包含次序:spa

#include <GL/glut.h>it

#include <stdlib.h>io

改爲:
#include <stdlib.h>   
編譯

#include <GL/glut.h>class

問題:

編譯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. 
解決方案:bug

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

im

相關文章
相關標籤/搜索