VS2008配置OpenGL

在VS2008中配置OpenGL环境时,需要将gl.h, glaux.h, opengl32.lib, glaux.lib, glu32.lib等文件放到相应目录。遇到的C1083编译错误是因为缺少glaux.h头文件和glaux.lib库文件。解决方法是将这些文件从VC6.0或网上下载并放入VS2008对应的Include和Lib目录,确保编译器能找到所需文件。" 102576353,9092036,树莓派开发实战:问题与解决方案,"['树莓派开发', '嵌入式硬件', 'Linux操作系统', '编程工具', '物联网']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我选择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支持,也可以一并下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值