2013-04-16 43 views
3

如何包含glfw.h並將庫libglfw.alibglfadll.a鏈接到MinGW編譯器的eclipse juno C++中。這是一個嘗試我上設置它提出:如何用eclipse C++和MinGW編譯器設置GLFW?

enter image description here

這是我嘗試使用編譯命令:

g++ -o Practice.exe "src\\main.o" "-lC:\\Users\\Kaiden.ZEUS\\Files" & "Folders\\Programming\\C++\\Workspaces\\Practice\\Practice\\lib\\libglfw.a" "-lC:\\Users\\Kaiden.ZEUS\\Files" & "Folders\\Programming\\C++\\Workspaces\\Practice\\Practice\\lib\\libglfwdll.a"

回答

3

的這樣的事情是針對OpenGL或GLEW,你在這裏處理基本的編程技巧技巧:如何配置編譯器鏈接器工具鏈以使用其他庫。這是必不可少的知識,所以請耐心妥善學習。以下只是一個簡短的清單,你應該改變。但是,你應該真正拿出一些關於編譯和鏈接過程的學習材料來理解它。


你應該把庫和頭文件到系統級目錄,但不編譯器套件的標準目錄,並配置編譯器和連接這些額外的搜索路徑。

不要將第三方庫和頭文件放到項目源代碼樹中,除非您採取適當的預防措施,不會干擾可能安裝的系統範圍實例。

此外,你必須選擇靜態或動態鏈接版本的GLFW。如果你同時使用,你會得到符號衝突(這是GLFW特有的)。

在你的構建命令行你使用-l option with *directories*. This is wrong, search paths are specified using -L (capital L), while -l (lower l) just specifies library names without the path, prefix and suffix. Also you can replace backslashes`正斜槓/,爲您節省一些打字,即\\逃逸產生單個backslashe的命令。你的情況(我縮短路徑)

g++ -o Practice.exe "src/main.o" "-LC:/Users/Kaiden.ZEUS/Files/ ... /lib" "-lglfw" 

g++ -o Practice.exe "src/main.o" "-LC:/Users/Kaiden.ZEUS/Files/ ... /lib" "-lglfwdll" 

但是這個編譯命令缺少包括文件的規範。假設你已經安裝了在C:/Users/Kaiden.ZEUS/Files/ ... /include/GL的GLEW頭,你要補充

"-IC:/Users/Kaiden.ZEUS/Files/ ... /include/GL" 

到命令行。