VS2008配置OpenGL

我选择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
#include
#include
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "Glaux.lib")

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

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

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

#include
#include
#include
#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支持,也可以一并下载

你可能感兴趣的:(计算机图形学)