Eclipse+MinGW+OpenGL配置

昨天一直想用eclipse+MINGW跑OPENGL,弄了很久没弄上,今天早上终于弄好了,步骤如下:

1:下载eclipse for C++ IDE  在上,具体的不说了

2: 下载Mingw 我是在sourceforge上搜的

3:安装MingW 一步步安装就行,装完之后在path中添加环境变量。例如:C:/MinGW/bin;我的是放在了最前面。

4:在网上下一个GLUT库。然后用mingw-utils把里面的 glut32.lib编译成libglut32.a文件。具体办法是在cmd命令行用mingw-utils里的      remip

5: 把用remip.exe生成的libglut32.a文件放到MinGW/lib目录下。

6:把GLUT库中的glut.h放到MinGW/include/GL文件下。因为MinGW是自带一些GL库的.

7:把GLUT库中的glut32.dll放到C:/WINDOWS/System32目录下。

在网上找了测试代码:

#include <stdlib.h>    #include <GL/gl.h>    #include <GL/glut.h>    void display(void)   {      glClear (GL_COLOR_BUFFER_BIT);/* clear all pixels  */      glColor3f (1.0, 1.0, 1.0);      glBegin(GL_POLYGON);/* draw white polygon with corners at(0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)*/         glVertex3f (0.25, 0.25, 0.0);         glVertex3f (0.75, 0.25, 0.0);         glVertex3f (0.75, 0.75, 0.0);         glVertex3f (0.25, 0.75, 0.0);      glEnd();      glFlush ();/* start processing buffered OpenGL routines  */   }   void init (void)   {      glClearColor (0.0, 0.0, 0.0, 0.0);/* select clearing color  */      glMatrixMode(GL_PROJECTION);      glLoadIdentity();      glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);/* initialize viewing values  */   }   int main(int argc, char** argv)   {      glutInit(&argc, argv);      glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);/*Declare initial display mode(single buffer and RGBA).*/      glutInitWindowSize (250, 250); /*Declare initial window size.*/      glutInitWindowPosition (100, 100);/*Declare initial window position.*/      glutCreateWindow ("hello");/*Open window with "hello"in its title bar.*/      init ();/*Call initialization routines.*/      glutDisplayFunc(display); /*Register callback function to display graphics.*/      glutMainLoop();/*Enter main loop and process events.*/      return 0;   /* ANSI C requires main to return int. */   }  

在eclipse的该工程下,还需要设置静态链接库,不然一直会显示无法找到静态库,或者编译的时候出现undefinded reference错误

具体做法是:propreties->C/C++Build ->setting->MinGW C++ Linker ->libraries 在Libraries(-l)添加 opengl32,glu32, glut32

好像这个顺序是不能打乱的

弄完这些就能跑OpenGL。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6d28639e58c2427518d5a7384d157b25.html