1. 程式人生 > >VS2013執行OpenGL例子提示找不到,GL/freeglut_ext.h,GL/freeglut.h,glew32.lib,freeglut.lib等

VS2013執行OpenGL例子提示找不到,GL/freeglut_ext.h,GL/freeglut.h,glew32.lib,freeglut.lib等

按照教程:

FreeGLUT庫和GLEW庫的安裝:

把FreeGLUT庫的.h檔案(有4個:freeglut.h、freeglut_ext.h、freeglut_std.h和glut.h),freeglut.lib和freeglut.dll放到正確的目錄下面就可以了:

將GLEW庫的.h檔案(glew.h、glxew.h、wglew.h),.lib檔案(glew32.lib、glew32mx.lib、glew32mxs.lib、glew32s.lib),.dll檔案(glew32.dll和glew32mx.dll)拷貝到相應目錄下,目錄和FreeGLUT庫的安裝完全一樣!

.h檔案放到 …\Microsoft Visual Studio 11.0\VC\include\GL

.lib檔案放到 …\Microsoft Visual Studio 11.0\VC\lib

.dll檔案放到C:\Windows\SysWOW64     (針對64位Windows系統)
或C:\Windows\System32  (針對32位Windows系統)

貌似只.dll的放對了  ,執行時候就提示找不到<GL/glew.h>,而有些電腦卻又可以。

插播:聽說從win7開始,OpenGL的標頭檔案更改到windows SDK中,不安裝就不能用。在win10下,vs2015安裝還報win sdk安裝失敗,這典型的自己坑自己。

於是乎,然後按照網上一堆的資料,都沒用,後來發現http://www.cnblogs.com/tocy/p/vs2015-OpenGL-dev-config.html然後看到C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl

這個目錄,於是乎,抱著試試看的心態將.h檔案檔案放到這裡(因為剛剛就試著把.h檔案C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\gl下,然而沒用),再run了一下,發現可以,於是再把.lib放到C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86,就可以跑了,放64卻不可以,應該是生成的執行檔案需要或是32位的。

其實還有一種解決方法:

  把上面那些.h和.lib都放工程裡,其中.h新增到專案,.lib放到Debug即可(又好像是放Debug外面,重開啟執行過的例子來試了下,發現刪了都還可以執行,可能是.lib載入執行過一次就不需要了或有備案了)

於是百度補了下課:

Windows Kits :Windows 8 評估和部署工具包是win8的sdkWindows Kits    我係統是8.1的,應該也是win8.1的sdk,於是放8.1裡了

巨集定義$(WindowsSDK_IncludePath)可以在vs裡專案屬性->配置屬性->VC++目錄看到;指的就是C:\Program Files (x86)\Windows Kits\8.1\Include