看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual Studio 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenGL 問題(Question): 畫面:http://i.imgur.com/IAz30.png 我用"/'搜尋過,看起來問題都是兩部分 1. 開錯專案 2. lib要加入linker的input中 可是我的狀況是: 1. 原本完全無問題,修改完程式碼以後出錯 2. 起初以為是程式碼問題,改回原本以後還是錯 3. 開啟另外一個專案編譯,因為該專案是之前寫的, 後來也沒改過,所以照理來說會沒問題, 但是同樣也出現此畫面 所以是原本可以,不曉得為什麼後來不行, 因此我想應該不會是第一種可能性。 第二種可能性的話如圖中我將所有lib都放入, 不過結果也還是不行。 最納悶的是明明原本可以,只是修改幾行以後就突然不行, 但是將程式碼復原成修改前的樣子也還是會有錯誤。 想請教一下我還漏了什麼步驟呢? 謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.22.165
iamstudent:這邊看不出來怎麼造成連結問題的 05/30 20:15
iamstudent:但是你目前是使用glut還是freeglut?應該只要其中一者 05/30 20:16
iamstudent:因為我看見你的library有放freeglut,用這個就不要glut 05/30 20:17
iamstudent:然後還要考慮一下你的head檔案是否改用了freeglut的 05/30 20:17
iamstudent:freeglut有一個用來和glut相容的head檔,請改用那個 05/30 20:18
Nestarneal:我把glut32.lib刪掉留下剩餘的變這樣: 05/30 21:19
Nestarneal:http://i.imgur.com/AYVQa.png 05/30 21:19
Nestarneal:程式碼算蠻短的,如下: 05/30 21:19
Nestarneal:http://i.imgur.com/AWkst.png 05/30 21:19
Nestarneal:我記得之前寫完直接編譯就可以過沒有特別做過設定, 05/30 21:20
Nestarneal:怎麼現在會突然出錯,實在是很不瞭解... 05/30 21:20
iamstudent:怎麼看都是project設定問題,但是似乎不只lib那邊而已 05/30 22:06
iamstudent:如果改不出來就重新建一個新的專案,然後加上所有設定 05/30 22:07
iamstudent:另外我還想到,你可以直接include freeglut看看 05/30 22:09
iamstudent:你的gl/glut.h說不定是用到原本的glut 05/30 22:09
iamstudent:因為編譯會過,但是連結的時候函數的實體找不到了 05/30 22:10
VictorTom:LIB那邊多加一個 OpenGL32.Lib 試試? 05/30 23:52
VictorTom:link不到的func看起來都是GL core自己的, 不確定圖裡那 05/30 23:52
VictorTom:些相關輔助的.lib有沒有誰有link OpenGL32.lib....@_@" 05/30 23:53
iamstudent:希望是樓上說的問題,我平常使用vc2005所以沒注意到 05/31 00:21
iamstudent:因為我隱約知道新版VC慢慢把一些openGL lib檔拿掉了 05/31 00:22
iamstudent:我記得好像從vc2009之後就把glaux.lib拿掉了 05/31 00:22
iamstudent:如果之後的版本又拿掉一些東西,真的不奇怪 05/31 00:23
Nestarneal:加了以後它還是顯示一樣的畫面,好怪... 05/31 01:01
QQ29:我覺得你可以用tool把你lib的symbol dump出來看 到底有沒有 05/31 23:57
QQ29:很明顯你加了這些lib 卻沒半個包含你用的symbol 先check 一下 05/31 23:58
QQ29:我在我這邊2010 加入opengl32.lib 就可以compile過拉 06/01 00:10
Nestarneal:Q大的方法我沒試過,不過之前的方法都不行,重灌也是 06/01 01:21
Nestarneal:最後我是請同學把include跟lib資料夾內容都抓給我就可 06/01 01:22
Nestarneal:以了。如果從解決方法看似乎是有缺檔案,可是我不是 06/01 01:22
Nestarneal:一開始就不行,而是中途改程式碼改到一半才突然錯誤... 06/01 01:23
Nestarneal:也就是從行→不行中間我只有改程式碼沒改別的...所以 06/01 01:23
Nestarneal:問題在哪還是不明囧。不過順利解決還是鬆了一口氣, 06/01 01:24
Nestarneal:謝謝各位 :) 06/01 01:24