opengl的進階菜鳥問題
看了一本書《OpenGL三維圖形系統開發與應用技術》,但是,其中涉及到glut.h檔案的函數無法正常串連,典型的錯誤如下:
------ 已啟動產生: 項目: gears, 配置: Debug Win32 ------
1>正在連結...
1>GEARS.obj : error LNK2019: 無法解析的外部符號 ___glutInitWithExit@12,該符號在函數 _glutInit_ATEXIT_HACK@8 中被引用
1>GEARS.obj : error LNK2019: 無法解析的外部符號 ___glutCreateWindowWithExit@8,該符號在函數 _glutCreateWindow_ATEXIT_HACK@4 中被引用
1>./Debug/gears.exe : fatal error LNK1120: 2 個無法解析的外部命令
1>組建記錄檔儲存在“file://c:/vcprog/OpenGL/book/Chapter03/GEARS/Debug/BuildLog.htm”
1>gears - 3 個錯誤,0 個警告
========== 產生: 0 已成功, 1 已失敗, 0 最新, 0 已跳過 ==========
反覆思考,也沒有找到答案,網上也有說類似問題的,但是竟然沒有這方面的解決方案,今天看了glut.h的檔案內容,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
再次連結,一切正常。
這個問題幾乎困擾了我三個月,今天終於解決了,路就在腳下,痛快!!!!!!!!!!!