2013-08-16 90 views
2

嗨,大家需要幫助MinGW鏈接GLFW的庫。我在網上找不到任何答案,或者沒有任何我能理解的答案。我試圖使用-L指定libs文件夾的路徑,並且我已將這些庫文件和include文件添加到MinGW中。MinGW找不到GLFW庫

我甚至嘗試改變庫的名稱。編譯器從不抱怨找不到頭,但鏈接器說它無法找到我指定的任何庫。 我一直在GLFW的網站,但恐怕我不明白他們想告訴我什麼。我在Windows7上使用MinGW通過命令行,因爲我無法使它與Code :: Blocks一起工作。我曾嘗試按照opengl-tutorial.org上的安裝說明進行操作,但可悲的是開始抱怨ANT的某些事情,我根本聽不懂。所以我認爲我有更好的機會通過命令行來實現它。

我曾嘗試:

g++ test.cpp -lglfw or g++ test.cpp -LC:\GLFW\lib -lglfw 

進入命令行模式。

+0

好吧大家2天無果而終試圖讓GLFW3工作後,我決定下載GLFW-2.7.7。我做了與GLFW3相同的所有工作,並且工作起來,我使用GLFW-2.7.7輕鬆編譯了我的測試程序。現在我的問題是:爲什麼GLFW3不能用於MinGW。 – Dabbler

回答

1

我設法讓mingw32和GLFW3一起工作。

  1. 要確保你有一致的librairies(32位或64位)(這不是我的情況)
  2. 重命名glfw3dll.a到libglfw3dll.a
  3. 添加您的lib *從GLFW到%.A MINGW_BASE%\ lib和include文件到%MINGW_BASE%\包括
  4. 編譯和鏈接使用G ++ TEST.CPP -lglfw3 -lopengl32
  5. 要運行它,一定要在System32中和/或SysWOW64中
  6. 添加glfw3.dll

它爲我

希望這將有助於,

1

一個簡單的調查GLFW3的lib-mingw目錄的適用於您的問題的答案。假設你有GLFW3的二進制包,從hereglfw-3.0.3.bin.WIN64.zipglfw-3.0.3.bin.WIN32.zip之一取決於你的工具鏈)。提取它應該有一個目錄lib-mingw等等。該目錄包含:

  • libglfw3.a
  • glfw3dll.a
  • glfw3.dll

因此庫名稱是glfw3並不僅僅是glfw。所以當傳遞給鏈接器時,你必須通過-lglfw3,即如果你想靜態鏈接到它。如果你想動態鏈接到它,那麼只需通過glfw3dll.a;添加-l將導致鏈接器將其作爲lib的前綴,並將其後綴爲.a(請參閱Django的回答)。