2012-12-11 42 views
0

對於我包括我有以下麻煩初始化openGL的使用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:\程序文件(86)\微軟的Visual Studio 11.0 \ VC \包括\ xutility 364 1的mp4

錯誤2錯誤C2039: '的iterator_category':不是 '`全局命名空間'」的成員C:\程序文件(86)\微軟的Visual Studio 11.0 \ VC \包括\ xutility 364 1的mp4

錯誤3錯誤C2146:語法錯誤:缺少';'標識符 '之前的iterator_category' C:\程序文件(86)\微軟的Visual Studio 11.0 \ VC \包括\ xutility 364 1的mp4

錯誤4錯誤C2602: '的std :: iterator_traits < _Iter> ::的iterator_category' 不是錯誤5錯誤C2868:'std:iterator_traits'是一個基類的成員,它的基類爲'std :: iterator_traits < _Iter>'c:\ program files(x86)\ microsoft visual studio 11.0 \ vc \ include \ xutility 364 1 mp4

錯誤5 error C2868: :iterator_traits < _Iter> :: iterator_category':使用聲明的非法語法;預計限定名C:\ Program Files文件(x86)的\微軟的Visual Studio 11.0 \ VC \包括\ xutility 364 1 MP4

...等...

我不知道文件是什麼xutility,或者編譯器爲什麼抱怨它。我高度懷疑它與我在VS 2012中設置openGL的方式有關,但我不確定。任何人都可以發現我的包含問題嗎?

+0

您是否在解決方案的構建選項中包含了路徑? –

+0

這是怎麼回事? – Zack

+0

我手動將glut.h放入GL文件夾,其他兩個文件已經存在 – Zack

回答

0

代替 -

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

只使用 -

#include <GL/GL.h> 
1

我會用我的精神力量尋找到你的其他代碼。 ;-P

你有類似的東西:

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

和文件myheader.h在你有一個類的聲明 - 或者也許struct-但是你錯過了結束分號 - 或者也許括號不匹配。

或者,也許你有無與倫比的#ifdef/#endif條款。

那麼編譯器是所有困惑時,它讀取標準C++頭和噴出所有這些不可讀的錯誤。

根據經驗法則,包括標題應該是爲了從最標準不太標準:

  1. 語言文件。
  2. 系統文件。
  3. 庫文件。
  4. 本地項目文件。

請記住,包含的文件是以文本方式簡單地連接在一起,然後將結果彙總在一起。因此,一個頭文件末尾的錯誤可能會觸發下一個頭文件中的編譯器錯誤。