看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): VC++ 額外使用到的函數庫(Library Used): glut32.lib glut32.dll 我自己寫了一個靜態函式庫(projectA) 裡面有用到OpenGL中的GLUT projectA的header路徑設定好了 dependency也設定了 build也build的過 但是另一個win32的程式(projectB)要引用我自己寫的靜態函式庫時 就會顯示以下錯誤訊息 LNK1104: cannot open file 'glut32.lib' 問題應該是出在dll沒擺對地方或我projectA的property沒設定好 下載下來的資料夾裡面其實有提到如何擺放glut.h、glut32.lib及glut32.dll glut32.dll放在windows/system資料夾 glut32.lib及glut.h放在compiler的include及lib裡面 這樣雖然就不會出現link error 但我希望可以把那三個檔都放在我的專案資料夾底下 以方便其它人checkout我的專案的時候不會再一次遇到同樣的問題 爬了文之後似乎是要設定環境變數這種東西 但試不出來 需要有經驗的大大幫忙~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.56.77
pico2k:projectA要用static link的方式去連結 glut32 08/05 18:53
NIKE74731:所謂static link就是在dependency裡面打上glut32.lib吧? 08/05 18:58
NIKE74731:如果是這樣的話我的確已經這樣子做了 08/05 18:58
johnlinvc:改vs的路徑設定 08/05 19:15
NIKE74731:vs的路徑設定是指?? 08/05 19:25
xatier:visual studio 08/06 01:02
PkmX:linker應該有個地方可以加搜尋目錄的 08/06 01:05
NIKE74731:也已經加了 08/06 01:10
NIKE74731:如果AdditionalLibraryDirectories沒設的話projectA就先 08/06 01:16
NIKE74731:build不過了 08/06 01:16
NIKE74731:不過如果是在projectB的地方設定glut32.lib的dependency 08/06 01:21
NIKE74731:的話就可以了 但我覺得很怪 理論上我自己寫的lib其中所 08/06 01:22
NIKE74731:引用的lib(glut32.lib)在build出來之後就包涵在裡面了 08/06 01:22
NIKE74731:其它引用我這個projectA的專案應該不須再額外設定才對 08/06 01:23
NIKE74731:題外話 想用opengl就是想利用它跨平台的特性 但使用glut 08/06 01:24
NIKE74731:就等於綁死在windows上了 Orz 08/06 01:24
PkmX:glut是cross-platform啊 你可以找找freeglut 08/06 01:26
PkmX:它和舊版的glut是binary相容的 08/06 01:27
PkmX:除了glut以外也有其它的library 我個人是用glfw 08/06 01:30
NIKE74731:我在網路上查的好像也是比較推GLFW 但我還以為glut是綁 08/06 01:31
NIKE74731:死在windows上的 因為我在glut.h裡看到incldu windows.h 08/06 01:31
NIKE74731:不過使用dxut,glut這種再包一層的lib總感到有點怪怪的 08/06 01:33
NIKE74731:好像沒真正學會使用DX/OGL所提供的API 08/06 01:33
PkmX:glut是簡化與platform-specific api的部份 08/06 01:35
PkmX:例如建立window、讀keyboard和mouse的input之類的 08/06 01:35
PkmX:和opengl本身應該沒有衝突吧 除非你是說wgl/glx的部份XD 08/06 01:36
NIKE74731:謝謝P大的說明 讓小弟我對OGL有多一點了解~ 08/06 01:42
xatier:linux 底下 freeglut 不錯用XD 08/06 01:43