[分享] OpenGL在vs2010 include gl/glut.h解法

看板C_and_CPP作者 (jjalu)時間10年前 (2013/08/02 19:48), 編輯推噓6(6019)
留言25則, 5人參與, 最新討論串1/1
環境:windows 7, glutdlls37beta套件,vs2010, 使用工具:Freeglut2.6.0, 小弟我礙於研究必須碰openGL, 但是在vs2010平台上引用glut.h會失效, 會出現no referrence的結果, 先說小弟我的原本情況, 已經裝完glut.h,glut32.dll,glut.dll,glut32.lib,glut.lib, 在單純只有#include <GL/glut.h>的狀態下可編譯,可執行會過, 但是在引用glutInit等函式後, 便會出現no referrence的compiler錯誤, 如果情況有符合者可以依照我的解法試試看, 這是教學網址http://ppt.cc/Vvl8 目前還可以看,避免死掉我做重點詮釋, 1.下載Freeglut2.6.0:http://ppt.cc/NmUz 2.使用vs2010對freeglut做編譯 3.將以下檔案加入各別不同的資料夾內: a. 將relesase資料夾內的freeglut.dll複製到C:\Windows\System32;如果是64位元系統 則放到:C:\Windows\SysWOW64 b. 將..\freeglut-2.6.0\include\GL中的所有*.h檔案加入到與gl.h同一個資料夾中: 預設為C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl   若為64位元系統,則默認為:C:\Program Files (x86)\MicrosoftSDKs\Windows \v7.0A\Include\gl c. 將relesase資料夾內的freeglut.lib複製到與GlU32.Lib相同資料夾中:   預設為C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib   若為64位元系統,則默認為:C:\Program Files (x86)\MicrosoftSDKs\Windows \v7.0A\Lib 完成以上配置後,開啟你的vs2010,c++專案測試以下核心程式碼, #include <GL/freeglut.h> glutInit(&argc,0); 看看有沒成功即可,freeglut代替glut標頭檔, 以上是給需要使用的人, 小弟我找了兩天的資料(沒辦法作業來了)才找到解法, 2013/8/2 google到的解法90%不能用, 趁著熱騰騰的時候有感而發, 如果是我太笨的話,本來就是大家都會用的話, 請告知我,我會立馬刪文。 -- 當納粹黨來抓共產黨的時候,我沒有站出來為他們說話,因為我不是共產黨; 當納粹黨來抓猶太人的時候,我沒有站出來為他們說話,因為我不是猶太人; 當納粹黨來抓工會的人的時候,我沒有站出來為他們說話,因為我不是工會的人; 當納粹黨來抓天主教徒的時候,我沒有站出來為他們說話,因為我是基督徒, 不是天主教徒; 當納粹黨來抓我的時候,已經沒有人站出來為我說話,因為他們都被抓走了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.142.121.102 額外的六個方法,可以參考

08/02 21:16, , 1F
一開始用OPENGL也搞好久,有問題大致上1.更新
08/02 21:16, 1F

08/02 21:16, , 2F
顯示卡驅動(一些新的OPENGL 4.3要有支援的顯卡)
08/02 21:16, 2F

08/02 21:17, , 3F
2.把你要建GUI視窗的工具(很多不同工具Glut或glFw)
08/02 21:17, 3F

08/02 21:17, , 4F
include檔 lib,dll下載好3.VS2010 先建空專案 4.
08/02 21:17, 4F

08/02 21:17, , 5F
VS2010 -> view -> property manger ->Debug|win32
08/02 21:17, 5F

08/02 21:18, , 6F
-->Microsoft.Cpp.Win32.user-->c/c++-->General->
08/02 21:18, 6F

08/02 21:18, , 7F
Additional include directories設上 include資料夾
08/02 21:18, 7F

08/02 21:18, , 8F
在Linker -> input 輸入 glXX.lib 5.最後Vc+directorie
08/02 21:18, 8F

08/02 21:19, , 9F
y->library Directories 設上Lib資料夾6.還不行用Cmake
08/02 21:19, 9F

08/02 23:41, , 10F
感謝你支援了6個解決方案,2.3跟link->input原先我都有做過
08/02 23:41, 10F

08/02 23:44, , 11F
後來試了其他方法(全加),可能我記憶體太小(4g)導致溢位
08/02 23:44, 11F
※ 編輯: jjalu 來自: 220.142.121.102 (08/02 23:49)

08/03 12:01, , 12F
glut 只是幫你搞定基礎視窗初始化的玩具,不是必要的 lib
08/03 12:01, 12F

08/03 14:43, , 13F
推,雖然我都會了。
08/03 14:43, 13F

08/04 11:14, , 14F
話說你freeglut 沒用最新版的不支援 opengl 4.3 啊
08/04 11:14, 14F

08/04 18:21, , 15F
我的情況沒辦法不處理它,不過受教了。
08/04 18:21, 15F

08/06 00:53, , 16F
glew glfw glm這三個lib有在維護,比起glut會比較好
08/06 00:53, 16F

08/06 08:46, , 17F
那些取向跟 glut 差很多吧 囧
08/06 08:46, 17F

08/06 10:00, , 18F
我在做opencv跟opengl的連結,一呼叫opencv就會連帶呼叫gl
08/06 10:00, 18F

08/06 10:02, , 19F
他的函式使我不得不include glut,B大說的話我大概能明白
08/06 10:02, 19F

08/06 10:04, , 20F
但是卻說glut可以不要/去除,這我就不明白了
08/06 10:04, 20F

08/06 10:28, , 21F
抱歉我搞錯了,opencv跟opengl沒有連結
08/06 10:28, 21F

08/06 15:41, , 22F
可是我看國外論壇寫說多用glfw不要用glut欸
08/06 15:41, 22F

08/06 22:31, , 23F
我想這差異,應該是因為我主做opencv,他要引用glut套件,
08/06 22:31, 23F
※ 編輯: jjalu 來自: 220.142.144.182 (08/06 22:32)

08/06 22:34, , 24F
而glut是opengl的套件,主做opengl的話,依照我初步的研究
08/06 22:34, 24F

08/06 22:34, , 25F
的確是不太需要去用到glut
08/06 22:34, 25F
文章代碼(AID): #1H-voHBu (C_and_CPP)