OpenGL(32位)開發環境配置: win7 64位系統 + vs2010 + freeglut + glew
之前一直用紅寶書原始碼("oglpg-8th-edition.zip")帶的庫來編譯OpenGL程式,有空就配了一下win7下的開發環境,隨手記下,僅供參考。
本人win7 自帶了"GL.h"檔案,在“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl”,系統已有基本的OpenGL配置,剩下所要做的就是新增“freeglut” 和 “glew”。
1、下載
1)、freeglut
2)、glew : http://glew.sourceforge.net/
下了“freeglut-MSVC-3.0.0-2.mp.zip” 、“glew-2.1.0-win32.zip”。
這兩部分內容,本人打包放到了:https://download.csdn.net/download/trevor_k/10776402
2、配置
2.1、freeglut
1)、將解壓後“include”中“GL”下內容,拷貝到“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl”。
2)、將“lib”下“freeglut.lib”,拷貝至“C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib”。
3)、將“bin”下“freeglut.dll”,拷貝至“C:\Windows\SysWOW64”。
注意:lib和bin資料夾下都有“x64”,我們配的是32位,用不到。本人用其配了64位,沒成功,沒找到原因。
2.2、glew
1)、 將解壓後“include”中“GL”下內容,拷貝到“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl”。
2)、將“./ lib/ Release/ Win32”下內容,拷貝至“C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib”。
3)、將“./ bin/ Release/ Win32”下“glew32.dll”,拷貝至“C:\Windows\SysWOW64”。
3、測試
#include <GL/glew.h>
#include <GL/glut.h>
#pragma comment (lib, "glew32.lib")
void init()
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f, 1.0f, 0.0f);
glRectf(-0.6f, -0.6f, 0.6f, 0.6f);
glFlush();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 300);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow("opengl");
glewInit();
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
注意:
1)、#include <GL/glew.h> 一定要放到#include <GL/glut.h>之前,否則會報錯“fatal error C1189: #error : gl.h included before glew.h”。
這是因為在glew.h中進行了如下定義:
#if defined(__gl_h_) || defined(__GL_H__) || defined(_GL_H) || defined(__X_GL_H)
#error gl.h included before glew.h
2)、此處只“#pragma comment (lib, "glew32.lib")”, 而沒有新增"freeglut.lib",這是因為在“glut.h”中包含了“freeglut_std.h”,在後者中進行了新增。
最終執行結果:
4、參考內容
https://blog.csdn.net/chaojiwudixiaofeixia/article/details/49403679