天天看點

在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

前言

使用openGL開發的新手,剛開始一定會被

glew、glfw、freeglut、glut迷惑住,下面就說說他們的差別:

glew:就是你要使用對老opengl的擴充,你要使用一些新的接口就要用這個!也就是說,隻要包含一個glew.h頭檔案,你就能使用gl,glu,glext,wgl,glx的全部函數。

glfw:類似于統一opengl的視窗,視窗管理與glut類似

glut:opengl的工具包,隐藏平台之間的差别與細節,提供提供統一的方法來處理事件,消息等

freeglut:替代品glut,glut很多的bug,比方說閃退,渲染不出來,release模式可用,debug模式下不可用,而且已經停止維護,強烈使用freeglut,freeglut和glut使用的頭檔案都是一樣一樣的,函數也是一樣的,可完全無縫替換

glut在調試中遇到的問題

1.在debug模式下,即使你包含了glut的頭檔案,lib庫,dll庫,vs編譯器仍然提示你找不glut.lib,你說氣人不氣人,如果選擇release就可以運作

2.變量已被優化掉,因而不可用

在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

解決

使用freeglut代替glut

  1. 下載下傳freeglut

    freeglut下載下傳位址

    在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題
    在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題
在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

2.使用CMake編譯freeglut源碼

在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

3.打開CMake生成工程

freeglut.dll生成路徑

在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題
在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

freeglut.lib生成release路徑

在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

freeglut.lib生成debug路徑

在openGL使用glut庫程式閃退,而且在debug模式下無法運作前言glut在調試中遇到的問題

4.用freeglut替換掉glut

把freeglut.lib和分别替換掉glut32.lib,glut32.dll

注意頭檔案不用替換

繼續閱讀