今天回到 openGL,有些東西寫着寫着就會愛上她—C++
上一次分享我們成功導入 glfw 包,本次我們要引入另一個 glew
GLFW 是一門專門針對 OpenGL 的 C 語言庫,它提供了一些渲染物體所需要的最低限度的接口。允許用戶創建OpenGL上下文,定義窗口參數以及處理用戶輸入。
GLEW 是 OpenGL Extension Wrangler Library 的縮寫。OpenGL擴展庫是個簡單的工具,用於幫助C/C++開發者初始化擴展(OpenGL擴展功能)並書寫可移植的應用程序。GLEW當前支持各種各樣的操作系統。
Glew 官網提供了GLEW 包的下載,在 windows 平臺上我們選擇下載 Window 32-bit 。
首先將我們下載好的glew-2.1..0 包加壓到項目目錄下 Dependencies 文件夾下,將 glew-2.1.0 文件夾名修改爲 GLEW。
在 /GLEW/doc 文件夾下,簡單閱讀一下文檔,官方文檔是最好的老師。然後在 application.cpp 文件中添加 glewInit()方法。(007)
現在可以將 glew 下 lib 和 include 引入到項目以便使用 glew 包,將目錄 Dependencies\GLEW\include 路徑複製一下
打開項目配置對話框,在 【C/C++】/【常規】的【附加包含目錄】添加$(SolutionDir)Dependencies\GLEW\include
可以點擊【編輯】查看包含的頭文件是否正確引入。
如果我們添加 glew32s.lib 添加到鏈接器,同樣需要將路徑複製出來,添加到 【鏈接器】/【常規】的【附加庫目錄下】
這一次可以換一種方式添加庫,我們點擊添加圖中標識的新建圖標然後再輸入框中輸入$(SolutionDir)Dependencies\GLEW\lib\Release\Win32
然後再【鏈接器】/【輸入】庫中的【附加依賴項】添加glew32s.lib
在 application.cpp 文件中添加 #include<GL/glew.h> 引入頭文件,生成項目(build項目),這裏 visual studio 將 build 翻譯成【生成】你怎麼看?
呵呵
發生錯誤。
查看錯誤消息gl.h included before glew.h
說明我們需要調整一個 include 先後順序
調整後再次運行程序,不在build報錯,但是報鏈接器方面的錯誤。查看錯誤輸出爲無法解析的外部符號 我們可以查看源碼 glewInit 發現需要配置一個預定義常量我們在 【預處理器定義】添加 GLEW_STATIC 常量。
繼續調整代碼,我們需要將代碼放置在 glfwMakeContextCurrent(window) 下面
我們輸出GL 版本號,運行程序,如果你看到輸出,恭喜您成功了!