基於GLFW和GL3W庫的OPEN GL環境配置

 

GLFW和GL3W庫是opengl開發時常用的第三方庫。關於庫的配置方法如下:

(一)GLFW

(1)在官方網站http://www.glfw.org/download.html下載:

---》可以下載源代碼文件,也可以下載預編譯的文件。

如果下載預編譯文件的話,特別需要注意編譯環境的問題是否與自己計算機一致,不一致可能導致問題。以下是下載預編譯文件打開後的目錄。可惜的是,本來用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目錄中(這個不用編譯,下載就有的)。

(2)配置visual studio

首先創建一個空的c++項目,叫做HelloGL吧。在解決方案文件夾中創建兩個文件夾,分別爲includes 和 lib,前者用於放置頭文件,後者用於放置庫文件。

然後,把頭文件(包含頭文件的上一級目錄)拷貝到includes文件夾中,並把庫文件拷貝到lib文件夾下,如下:

接着,打開項目屬性對話框,把新創建的兩個目錄配置到vc++目錄的包含目錄和庫目錄中。在這裏用到了基於SolutionDir的相對路徑。

接着下一步是配置鏈接器,同樣在項目的屬性對話框中配置。

這樣,第三方庫GLFW就配置完成了,新建一個cpp源文件,就可以使用 #include "GLFW\glfw3.h"作爲頭文件的引用啦。

關鍵在於以下幾個步驟:利用CMake和Visual Studio生成GLFW庫文件和頭文件、工程中創建目錄並拷貝庫文件及頭文件、工程中進行c++目錄配置、工程中進行鏈接器配置。

(二)GL3W

 

在GL3W的配置中,可以和GLFW有些不同,gl3w我直接採用源代碼放入項目文件中的方式。

(1)下載

下載地址:https://github.com/skaslev/gl3w

下載並解壓縮後的目錄如下,但這個目錄中不包含header及源文件。

 

(2)運行python文件gl3w_gen.py

如果計算機已經安裝了python,則直接點擊gl3w_gen.py就可以運行該文件。

(說明:此處用的是python來生成相應的文件的,如果不適用python,利用上面GLFW一節所講的CMake和VisualStudio聯合使用,同樣能夠生成源文件和頭文件,本人嘗試是可以的。)

(3)配置 visual studio

然後把頭文件拷貝到新創建的解決方案的includes文件夾中。並且把源文件gl3w.c拷貝到解決方案的項目文件夾中(HelloGL->HelloGL)。(說明:前一個HelloGL是解決方案文件夾,後一個是項目文件夾。

這樣,第三方庫GL3W就配置完成啦。(由於GL3W是直接拷貝的源文件gl3w.c到項目中,而沒有使用lib或dll文件,所以這裏不在需要配置鏈接器的信息)。

(三)測試

由於GL3W下載文件中已經包含了可以用於測試的文件glfw_test.c,可以顯示一個簡單的opengl窗口。因此把它直接拷貝到vs項目文件夾中。然後在vs的解決方案窗口中將其添加進來。編譯運行後顯示出相應的窗口。

 

顯示的窗口如下: