C_and_CPP 板


LINE

小弟search了一下板上, 似乎沒有完整的介紹, 或遇到小弟的麻煩.... 今天搞了一個早上終於OK了, 貼一下相關資訊看看有沒有板友用得上:) == 環境: XP sp3, Dev-Cpp 4.9.9.2, GLUT 3.7.6, 其他package詳見link.... Dev-Cpp - http://www.bloodshed.net/devcpp.html GLUT for Win - http://www.xmission.com/~nate/glut.html GLUT DevPak - http://www.nigels.com/glt/devpak/ 用到的sample - http://www.songho.ca/opengl/gl_tessellation.html 照google到的資料, 安裝完Dev-Cpp後, 用它的update可以找到相關Pak. 不過小弟試連不上server, 所以另外抓了GLUT DevPak, 點兩下安裝即可. 再把GLUT for Win裡的glut32.dll放到目的.exe或system32的folder下. (順便確認一下GLUT.h放好了, 因為小弟當初流程都混淆了, 懶得回復說) 之後Dev-C++開新的專案, 選到multimedia那一個tab, 就有GL/GLUT可以選. (不然就要自己去搞makefile, 或者去設定project property裡的link library) 裡面還附有sample code, 沒有意外的話, build下去直接就可以run了才對.... == 意外狀況: 1. 小弟抓了網路上OpenGL Tesselation的sample下來build的時候, 遇到類似下面這種奇怪的Linker Error, 有多個不止這一個就是: [Link error]undefined referende to "__glutInitWithExit@12" 解決方法: 在 #include <GL/glut.h> 之前加入一行: #define GLUT_DISABLE_ATEXIT_HACK PS. 這很詭異, 後來build成功以後, 就算拿掉 #define 也重做不出來了.... 2. 同樣是上面的sample code, 在build時還會出現另外一種error: invalid conversion from `void (*)()' to `void (*)()' 加上另一個error在同一行, 但是忘記error message是什麼了. 基本上是有call gluTessCallback() 就會報這行上面這兩個error. 解決方法: 把 (__stdcall*) 全部換成 (CALLBACK*) 就好了. PS. 只是當我build成功後, 改回(__stdcall*)又可以了, 只有用(*)不行. 不過我不明白的是為什麼看起來是同是 void (*)() 卻不能互轉.... 3. 在 #include <GL/glut.h> 和 #include <stdlib.h> 以後有如下的error: error C2381: 'exit' : redefinition; __declspec(noreturn) differs C:\Program Files\Microsoft Visual Studio 8\VC\include\ GL/glut.h(146) : see declaration of 'exit' 解決方法: 把 #include <stdlib.h> 放在 #include <GL/glut.h> 之前.... PS. 這個問題其實是在VC++遇到的, 想說就把它一起列上來reference吧. 詭異的是, 小弟現在的環境又重做不出這個error了, 所以是抓來的. (因為小弟平台上有3~4組IDE環境, 實在懶得去釐清/重做問題了^^||) == 以上, 意外狀況裡有一些case小弟google回來亂試是打通了, 只是倒不是全部明白到底問題是什麼, 以下附上參考資料吧: #1 - http://www.lslnet.com/linux/f/docs1/i47/big5323508.htm #3 - http://social.msdn.microsoft.com/Forums/zh-TW/Vsexpressvc/ thread/4cf463c1-5fee-4daa-b135-be8b06ab7f8f (請接起來) 關於#3裡的討論有一個改preprocessor的方法, 不過當時因為換.h的順序就好了, 所以小弟我沒有仔細研究; 下面還有更古老的討論, 看起來似乎是VC自己的問題: http://www.gamedev.net/community/forums/topic.asp?topic_id=128869 大概就這樣, 在VC下反而還比較簡單, .h/.lib 往 PlatformSDK\ 分類放好, glut32.dll 也是放 system32\ 下; 另外project的linker input加一下就好了. 之前弄Dev-C++時google到說把glut.def或者glut.lib放到Dev-Cpp\lib下. 基本上根本就不work; 這次剛好有需要用到, 所以硬是把Dev-C++弄起來了.... -- 以上~~提供一下今天早上的經驗, 看有沒有板友用得上, 也順便請教"意外狀況"裡遇到的幾個case喵....<(_ _)> --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.41.4







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP