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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM