[英]trouble initializing openGL with visual studio 2012
對於我的包括,我有以下
#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:\\程序文件(x86)\\ Microsoft Visual Studio 11.0 \\ vc \\ include \\ xutility 364 1 mp4
錯誤2錯誤C2039:'iterator_category':不是'`全局名稱空間'的成員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 <_Iter> :: iterator_category'不是'std :: iterator_traits <_Iter>'基類的成員c:\\程序文件(x86)\\ Microsoft Visual Studio 11.0 \\ vc \\ include \\ xutility 364 1 mp4
錯誤5錯誤C2868:'std :: iterator_traits <_Iter> :: iterator_category':使用聲明的語法不合法; 預期的合格名稱c:\\ program files(x86)\\ microsoft visual studio 11.0 \\ vc \\ include \\ xutility 364 1 mp4
...等等...
我不確定什么是xutility文件,或者為什么編譯器會抱怨它。 我高度懷疑這與我在VS 2012中設置openGL的方式有關,但我不確定。 有人可以發現我的包含項有問題嗎?
我將使用我的智力來調查您的其他代碼。 ;-P
你有這樣的東西:
#include "myheader.h"
#include <iostream>
並且在文件myheader.h
您有一個類聲明-或也許是一個struct-但錯過了結尾的分號-或花括號不匹配。
或者,也許您有不匹配的#ifdef
/ #endif
子句。
然后,編譯器在讀取標准C ++頭文件並噴出所有這些不可讀的錯誤時都會感到困惑。
根據經驗,include標頭應按從最標准到次標准的順序排列:
請記住,所包含的文件只是簡單地按文本串聯在一起,然后將結果匯總在一起。 因此,一個頭文件末尾的錯誤可能會觸發下一個頭文件的編譯器錯誤。
代替 -
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
只需使用-
#include <GL/GL.h>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.