0

私のインクルードには、次のものがあります

#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: '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:\program files (x86)\microsoft visual studio 11.0\vc \include\xutility 364 1 mp4

エラー 5 エラー C2868: 'std::iterator_traits<_Iter>::iterator_category': using-declaration の構文が正しくありません。予想される修飾名 c:\program files (x86)\microsoft visual studio 11.0\vc\include\xutility 364 1 mp4

...等...

xutility ファイルが何であるか、またはコンパイラがそれについて不平を言っている理由がわかりません。VS 2012 で openGL をセットアップした方法と関係があるのではないかと強く疑っていますが、よくわかりません。誰でも私のインクルードの問題を見つけることができますか?

4

2 に答える 2

0

それ以外の -

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

使用するだけです-

#include <GL/GL.h>
于 2012-12-11T21:30:03.447 に答える
0

私は自分の精神力を使ってあなたの他のコードを調べます。;-P

あなたはそのようなものを持っています:

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

そして、ファイルmyheader.hにはクラス宣言(または構造体)がありますが、終了セミコロンを見逃しているか、中括弧が一致していない可能性があります。

または、一致しない#ifdef/#endif句がある可能性があります。

次に、コンパイラは、標準のC ++ヘッダーを読み取り、これらの読み取り不可能なエラーをすべて吐き出すときに、すべて混乱します。

経験則として、インクルードヘッダーは、最も標準的なものからより標準的でないものの順に並べる必要があります。

  1. 言語ファイル。
  2. システムファイル。
  3. ライブラリファイル。
  4. ローカルプロジェクトファイル。

インクルードされたファイルは単にテキストで連結され、結果がすべて一緒にコンパイルされることを忘れないでください。したがって、1つのヘッダーファイルの最後にエラーがあると、次のヘッダーファイルでコンパイラエラーが発生する可能性があります。

于 2012-12-11T21:44:54.743 に答える