1. 程式人生 > >基於GLFW和GL3W庫的OPEN GL環境配置

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

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

(一)GLFW

---》可以下載原始碼檔案,也可以下載預編譯的檔案。

如果下載預編譯檔案的話,特別需要注意編譯環境的問題是否與自己計算機一致,不一致可能導致問題。以下是下載預編譯檔案開啟後的目錄。可惜的是,本來用vs2017,拷貝了對應的lib-vc2015中對應的庫檔案和include中的標頭檔案,並進行了相應的配置,結果連結失敗。

vs2017中使用預編譯的lib-vc2015資料夾檔案,生成的時候錯誤。

---》因此,本人下載原始碼來執行。

本人在用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)下載

下載並解壓縮後的目錄如下,但這個目錄中不包含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的解決方案視窗中將其新增進來。編譯執行後顯示出相應的視窗。

顯示的視窗如下: