1. 程式人生 > >dev c++ 配置openGL

dev c++ 配置openGL

折騰了一早上,總算成功了,親測有效,參考了很多部落格,但是都不完整,現把解決方案分享如下:

WINDOWS配置:

確保你的WINDOWS/SYSTEM32檔案下有如下檔案:

glu32.dll, glut32.dll, glut.dll, opengl32.dll

如果是64位作業系統SysWOW64中加入glut32.dll(如果還不行就把上述檔案都拷貝到SysWOW64中,本人在實際操作過程中只缺少glut32.dll),否則會報錯.

DEV C++庫的配置:

確保DEV C++安裝目錄下的Lib(不是lib32)檔案中有如下檔案l,ib資料夾正常是在MinGW64\x86_64-w64-mingw32目錄下

libglu32.a, libglut32.a, libglut.a, libopengl.a(如果已經有libopengl32.a也闊以)

其次確保inlude\GL檔案中又如下標頭檔案:

gl.h, glu.h, glut.h,

DEV C++檔案工程的屬性設定:

右鍵單擊工程,彈出選單,點選工程屬性,然後再彈出的表格中選擇引數項,右邊的聯結器中輸入:

-lglut32

-lglu32

-lopengl32

-lwinmm

-lgdi32

最最最大的坑——如果你用的是64位編譯器,要把編譯器改為32位的,方法就是右鍵專案名——>projection options——>complier,然後選擇32位的

以下程式供大家測試:


#define GLUT_DISABLE_ATEXIT_HACK
#include<windows.h>
#include<gl/gl.h> 
#include<gl/glut.h>
void Initial(){
	glClearColor(1.0f,1.0f,1.0f,1.0f);
	glMatrixMode(GL_PROJECTION);
	gluOrtho2D(0.0,200.0,0.0,150.0);
}
void Display(){
	glClear(GL_COLOR_BUFFER_BIT);
	glColor3f(1.0f,0.0f,0.0f);
	glRectf(50.0f,100.0f,150.0f,50.0f);
	glFlush();
} 
int main(int argc,char *argv[]){
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(400,300);
	glutInitWindowPosition(100,120);
	glutCreateWindow("矩形");
	glutDisplayFunc(Display);
	Initial();
	glutMainLoop();
	return 0;
}

執行結果為:

注意:一定要在標頭檔案那裡新增

不然會報錯