您的位置:首页 > 运维架构

VS2008配置OpenGL

2015-10-13 22:12 981 查看
我选择Visual Studio 2008作为学习OpenGL的环境。(未使用glut包)

1、把 gl.h glaux.h复制到C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl**而不是x:\Program Files\Microsoft\Visual Studio 9.0\VC\include\GL文件夹中,如果没有GL这个文件夹则可以自己新建一个。(x是你安装VS的盘符号,如果装的是VC++的话,里面有个gl文件,Visual Studio 2008则需要自己去新建一个)**

2、把opengl32.lib glaux.lib glu32.lib 放到 C:\Program Files\MicrosoftSDKs\Windows\v6.0A\Lib

注意: 包含头文件:

#include<windows.h>
#include<GL/gl.h>
#include<GL/glaux.h>
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "Glaux.lib")


也可在工程属性->配置属性->连接器->命令行,的附加选项中加入上述三个lib文件

下面就可以开始我们的第一个OpenGL程序

一个简单的OpenGL程序如下:(注意,如果需要编译并运行,需要正确安装GLUT,安装方法如上所述)

#include<windows.h>
#include<GL/gl.h>
#include<GL/glaux.h>
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "Glaux.lib")

void InitGL(void);
void CALLBACK Draw(void);
void CALLBACK ReDraw(GLsizei w,GLsizei h);

//窗口的初始化
void InitGL(void)
{
// 窗口显示单缓存和RGB模式
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,640,480);
auxInitWindow(TEXT("OPENGLfjj"));
glClearColor(0.6,0.6,0.6,0.0);
glClear(GL_COLOR_BUFFER_BIT);
}

void CALLBACK ReDraw(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h)
glOrtho(-20.0,20.0,-20.0*(GLfloat)h/(GLfloat)w,20.0*(GLfloat)h/(GLfloat)w,-50.0,50.0);
else
glOrtho(-20.0*(GLfloat)w/(GLfloat)h,20.0*(GLfloat)w/(GLfloat)h,-20.0,20.0,-50.0,50.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void CALLBACK Draw(void)
{
glBegin(GL_LINE_STRIP);
glColor3f(1.0,0.0,0.0);
glVertex2s(-12,-10);
glColor3f(0.0,1.0,0.0);
glVertex2s(0,10);

glColor3f(0.0,0.0,1.0);
glVertex2s(12,-10);

glColor3f(1.0,0.0,0.0);
glVertex2s(-12,-10);
glEnd();
glFlush();
}

void main(void)
{
InitGL();
auxReshapeFunc(ReDraw);
auxMainLoop(Draw);
}


在VC6.0下能够正常运行,可是在VS2008下却出现编译错误如下:

1>d:\elec\mymfctest\vs2010p\openglapps\opengltest\opengltest.cpp(4): fatal error C1083: 无法打开包括文件:“GL/glaux.h”: No such file or directory

貌似这个错误在VS2008以上的版本中都会出现。

在VS2010安装后的路径C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl下只看到两个文件

gl.h和glu.h而没有glaux.h,

而在VC6.0的安装路径C:\Program Files\Microsoft Visual Studio\VC98\Include\GL

下是有三个文件的

即gl.h、 glu.h和 glaux.h,因而在VS2010中是找不到相关的头文件。

同时glaux.lib库文件在VC6.0的安装路径C:\Program Files\Microsoft Visual Studio\VC98\Lib下,而VS2010的安装路径C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib下找不到该库文件。

所以解决方法就是,如果你安装了VC6.0那么可以从相应的文件夹中将glaux.h和glaux.lib文件分别复制到VS2010默认引用的路径之下,编译即可通过,也可以从网上下载这两个文件。有可能程序运行时也还需要glaux.dll支持,也可以一并下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: