最近测试了一个OpenGL的示例程序:
#include <GL/gl.h>
#include <GL/glaux.h>
#include "glos.h"
void main(void)
{
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("simple");
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glRectf(-0.5,-0.5,0.5,0.5);
glFlush();
_sleep(1000);
}
在VC6.0下能够正常运行,可是在VS2010下却出现编译错误如下:
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\v7.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支持,也可以一并下载。