GLFW和GL3W庫是opengl開發時常用的第三方庫。關於庫的配置方法如下:
---》可以下載源代碼文件,也可以下載預編譯的文件。
如果下載預編譯文件的話,特別需要注意編譯環境的問題是否與自己計算機一致,不一致可能導致問題。以下是下載預編譯文件打開後的目錄。可惜的是,本來用vs2017,拷貝了對應的lib-vc2015中對應的庫文件和include中的頭文件,並進行了相應的配置,結果鏈接失敗。
vs2017中使用預編譯的lib-vc2015文件夾文件,生成的時候錯誤。
---》因此,本人下載源代碼來執行。
下載後目錄如下,需要使用CMake和vs完成編譯,關於如何編譯,參見:配置GLFW https://blog.csdn.net/jiuzaizuotian2014/article/details/82915171
本人在用CMake的時候,指定的build目錄是下載源文件目錄下創建的build文件夾。
當利用vs編譯後,會在build目錄下面的src的子目錄中生成glfw3.lib. (這裏的子目錄根據vs編譯時選擇的參數有關,可能爲Debug,也可能爲Release,也可能爲RelWithDebInfo等等。就以Debug爲例,該文件所在路徑如下。
這是一個靜態鏈接庫(當然這裏沒有考慮動態鏈接庫的形式,如果採用動態庫,則另行參考有關資料)。
爲了在vs中運行,還有header頭文件需要包含,頭文件就在下載的文件夾的include目錄中(這個不用編譯,下載就有的)。
首先創建一個空的c++項目,叫做HelloGL吧。在解決方案文件夾中創建兩個文件夾,分別爲includes 和 lib,前者用於放置頭文件,後者用於放置庫文件。
然後,把頭文件(包含頭文件的上一級目錄)拷貝到includes文件夾中,並把庫文件拷貝到lib文件夾下,如下:
接着,打開項目屬性對話框,把新創建的兩個目錄配置到vc++目錄的包含目錄和庫目錄中。在這裏用到了基於SolutionDir的相對路徑。
接着下一步是配置鏈接器,同樣在項目的屬性對話框中配置。
這樣,第三方庫GLFW就配置完成了,新建一個cpp源文件,就可以使用 #include "GLFW\glfw3.h"作爲頭文件的引用啦。
關鍵在於以下幾個步驟:利用CMake和Visual Studio生成GLFW庫文件和頭文件、工程中創建目錄並拷貝庫文件及頭文件、工程中進行c++目錄配置、工程中進行鏈接器配置。
在GL3W的配置中,可以和GLFW有些不同,gl3w我直接採用源代碼放入項目文件中的方式。
下載地址:https://github.com/skaslev/gl3w
下載並解壓縮後的目錄如下,但這個目錄中不包含header及源文件。
如果計算機已經安裝了python,則直接點擊gl3w_gen.py就可以運行該文件。
(說明:此處用的是python來生成相應的文件的,如果不適用python,利用上面GLFW一節所講的CMake和VisualStudio聯合使用,同樣能夠生成源文件和頭文件,本人嘗試是可以的。)
然後把頭文件拷貝到新創建的解決方案的includes文件夾中。並且把源文件gl3w.c拷貝到解決方案的項目文件夾中(HelloGL->HelloGL)。(說明:前一個HelloGL是解決方案文件夾,後一個是項目文件夾。
這樣,第三方庫GL3W就配置完成啦。(由於GL3W是直接拷貝的源文件gl3w.c到項目中,而沒有使用lib或dll文件,所以這裏不在需要配置鏈接器的信息)。
由於GL3W下載文件中已經包含了可以用於測試的文件glfw_test.c,可以顯示一個簡單的opengl窗口。因此把它直接拷貝到vs項目文件夾中。然後在vs的解決方案窗口中將其添加進來。編譯運行後顯示出相應的窗口。
顯示的窗口如下: