使用visual studio 2012初始化openGL时出现问题

trouble initializing openGL with visual studio 2012

本文关键字:问题 openGL 初始化 visual studio 2012 使用      更新时间:2023-10-16

对于我的includes,我有以下

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <cmath>
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>

然而,当我尝试编译时,我会遇到一大堆错误,这些错误与我使用的任何源代码都无关。

错误1错误C2825:"_Iter":后面跟"::"c:\program files(x86)\microsoft visual studio 11.0\vc\include\xutility 364 1 mp4 时,必须是类或命名空间

错误2错误C2039:"迭代器_类别":不是"全局命名空间"c:\program files(x86)\microsoft visual studio 11.0\vc\include\xutility 364 1 mp4 的成员

错误3错误C2146:语法错误:缺少";"标识符'iterator_category'之前的c:\program files(x86)\microsoft visual studio 11.0\vc\include\xutility 364 1 mp4

错误4错误C2602:"std::iterator_traits&lt_Iter>::iterator_category"不是"std::iterater_traits&lt_Iter>'c:\program files(x86)\microsoft visual studio 11.0\vc\includes\xutility 364 1 mp4

错误5错误C2868:"std::iterator_traits&lt_Iter>::迭代器类别':使用声明的语法非法;预期限定名c:\program files(x86)\microsoft visual studio 11.0\vc\include\xutility 364 1 mp4

等等。

我不确定xutility文件是什么,也不知道编译器为什么抱怨它。我高度怀疑这与我使用VS 2012设置openGL的方式有关,但我不确定。有人能发现我的包有问题吗?

而不是-

#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>

只需使用-

#include <GL/GL.h>

我要用我的脑力来研究你的其他代码-P

你有这样的东西:

#include "myheader.h"
#include <iostream>

在文件myheader.h中,您有一个类声明——或者可能是一个结构——但您错过了结束分号——或者可能大括号不匹配。

或者您可能有不匹配的#ifdef/#endif子句。

然后,当编译器读取标准C++标头并喷出所有这些无法读取的错误时,它会感到非常困惑。

根据经验,include标头应该按照从最标准到不太标准的顺序排列:

  1. 语言文件
  2. 系统文件
  3. 库文件
  4. 本地项目文件

请记住,所包含的文件只是通过文本连接,然后将结果全部编译在一起。因此,一个头文件末尾的错误可能会在下一个头中触发编译器错误。