OpenGL 环境搭建:win7 64位系统:eclipse + freeglut + GNU C/C++ Compiler MinGW

来源:互联网 发布:aso优化 app下载排名 编辑:程序博客网 时间:2024/06/06 00:53

技巧一:怎样在windows上使用GNU的C编译器

技巧二:怎样使win7 x64 系统上的过时的OpenGL库函数和eclipse 和 GNU C Compiler发挥作用。

 

第一步,安装MinGW 。 MinGW 是一个windows上的小型GUN平台,它允许你安装许多GNU工具,其中包括GNU C 和C++编译器。此处here 下载 MinGW。

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20111118/

运行MinGW的可执行文件前,要保证你的网络处于连接状态,因为MinGW在安装过程中,会自动下载所需要的包。

安装过程中,需要选择安装哪些包,确保选择C Compiler 和 C++ Compiler。 不要更改软件默认的安装路径。

 

第二步,下载freeglut库,选择freeglut因为它是开源的,并且到目前为止,仍在更新。点击此处here 下载。

http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MinGW.zip

 

接下来要做的是解压freeglut-MinGW.zip, 然后

1. 将freeglut.dll 拷贝到 “C:\Windows\System32”, 如果是x64位系统,拷贝到"C:\Windows\SysWOW64"

2. 将压缩包中 include\GL中的内容拷贝到“C:\MinGW\include\GL”

3. 将压缩包中lib中的内容拷贝到  “C:\MinGW\lib”

 

以上步骤做完,在命令行中输入:

gcc --version

g++ --version

检查是否有输出。

 

第三步, 下载并为C/C++ 和 OpenGL的开发配置eclipse

1. 下载eclipse,32位系统地址 here

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR1/eclipse-cpp-helios-SR1-win32.zip

 

eclipse, 64位系统下载地址

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-cpp-juno-SR1-win32-x86_64.zip

 

2. 在Eclipse中 New-->C++ Project, 选择Hello World C++ Project, 取名为OpenGLDemo , Toolchains 选择 MinGW GCC。

 

新建工程完成后, 在左侧的Project Explorer中选择OpenGLDemo,右键选择Properties,选择C/C++ Build--> Settings-->MinGW C++ Linker, 点击Add,"glu32" , "opengl32" , "freeglut" (没有双引号),然后点击确定

 

3. 选择File -> New -> Source file. 为文件填写名字,如test.cpp. 然后将如下代码填写到文件中。

 

#include <windows.h>#include <GL/Gl.h>#include <GL/glut.h>void myInit(void) {glClearColor(1.0, 1.0, 1.0, 0.0);glColor3f(0.0f, 0.0f, 0.0f);glPointSize(4.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0, 640.0, 0.0, 480.0);}void myDisplay(void) {glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//First LineglLineWidth(8.0f);glBegin(GL_LINE_STRIP);glColor3ub(255, 0, 0);glVertex2i(40, 380);glColor3ub(0, 255, 0);glVertex2i(600, 380);glEnd();//Second LineglLineWidth(8.0f);glBegin(GL_LINE_STRIP);glColor3ub(0, 0, 255);glVertex2i(40, 250);glColor3ub(0, 255, 0);glVertex2i(600, 250);glEnd();//Third LineglLineWidth(8.0f);glBegin(GL_LINE_STRIP);glColor3ub(255, 0, 0);glVertex2i(40, 120);glColor3ub(0, 0, 255);glVertex2i(600, 120);glEnd();glFlush();}int main3(int argc, char** argv) {//GLUT  &  OpenGLglutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(640, 480);glutInitWindowPosition(100,150);glutCreateWindow("Hello OpenGL");glutDisplayFunc(myDisplay);myInit();glutMainLoop();}


 

执行效果图如下:

 

 

参考文章:http://tjwallas.weebly.com/5/post/2010/11/opengl-development-on-windows-7-freeglut-eclipse-gnu-cc-compiler-mingw-ftw.html

原创粉丝点击