2017-10-02 4 views
0

私は学校のためにアレグロライブラリを使ってC++プログラムをビルドしようとしていますが、cstdintを扱うコンパイルエラーの大量のリストを辿ることはできません。私のファイルからすべてのコードを削除するstdint.hVisual Studio 14.0 cstdintとstdint.hでコンパイルエラーを出す

は私にちょうどこの

#pragma once 
#include <allegro.h> 
#include <cstdlib> 
#include <cstdio> 
#include <sstream> 
#include <fstream> 

と私のメインのファイルだけ

#include "Trivia.h" 

を含む、ここでエラーが発生しているとのヘッダファイルを提供します私はstdio.hの、sstream提供してfstreamのすべてを削除しますが、私はちょっと私の割り当てのためにそれらを必要とする場合、エラーが消えて取得することができます

1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(17): warning C4114: same type qualifier used more than once 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(17): error C2632: 'char' followed by 'char' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(17): warning C4091: 'typedef ': ignored on left of 'signed char' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(18): error C2632: 'short' followed by 'short' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(18): warning C4091: 'typedef ': ignored on left of 'short' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(19): error C2632: 'int' followed by 'int' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(19): warning C4091: 'typedef ': ignored on left of 'int' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(20): error C2632: '__int64' followed by '__int64' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(20): warning C4091: 'typedef ': ignored on left of '__int64' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(21): warning C4114: same type qualifier used more than once 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(21): error C2632: 'char' followed by 'char' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(21): warning C4091: 'typedef ': ignored on left of 'unsigned char' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(22): warning C4114: same type qualifier used more than once 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(22): error C2632: 'short' followed by 'short' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(22): warning C4091: 'typedef ': ignored on left of 'unsigned short' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(23): warning C4114: same type qualifier used more than once 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(23): error C2632: 'int' followed by 'int' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(23): warning C4091: 'typedef ': ignored on left of 'unsigned int' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(24): warning C4114: same type qualifier used more than once 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(24): error C2632: '__int64' followed by '__int64' is illegal 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(24): warning C4091: 'typedef ': ignored on left of 'unsigned __int64' when no variable is declared 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(18): error C2589: 'signed': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(18): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(19): error C2589: 'signed': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(19): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(20): error C2589: 'unsigned': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(20): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(21): error C2589: 'unsigned': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(21): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(33): error C2589: 'signed': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(33): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(34): error C2589: 'unsigned': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(34): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(37): error C2589: 'signed': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(37): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(38): error C2589: 'signed': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(38): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(39): error C2589: 'unsigned': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(39): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(40): error C2589: 'unsigned': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(40): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(52): error C2589: 'signed': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(52): error C2059: syntax error: '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(53): error C2589: 'unsigned': illegal token on right side of '::' 
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\cstdint(53): error C2059: syntax error: '::' 

に対処しようとしています。彼らはCヘッダです

+3

が、あなたの使用または 'の#pragma once'はあなたが表示されたコードは、ヘッダファイルからのものであることを示し、場合'(ではありませんソースファイルのいずれか)。 [なぜ "namespace stdを使用する"が悪い習慣とみなされるのですか?](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) *本当にすべての答えを読む時間がかかります。 –

+0

あなたのエラーについては、あなたが私たちに見せるコードの前に何をしていますか?あなたのヘッダーファイルはどこに入れますか?何をしていますか?あなたは本当に[最小、完全で、検証可能な例](http://stackoverflow.com/help/mcve)を作成し、私たちに見せる必要があります! –

+0

'using namespace std;' –

答えて

1
#include <stdlib.h> 
#include <stdio.h> 

、あなたはC++のものが必要になります。

#include <cstdlib> 
#include <cstdio> 

EDIT:

まずあなたがcstrintから、その後、stdint.h(!Cヘッダ)からのエラーの束を持っています。ただの推測、しかしallegroCライブラリ(ないC++)であれば、あなたもどうやら私はsstream提供後allegro.hを含めることによって、問題を解決することができ

extern "C" 
{ 
    #include <allegro.h> 
} 
+0

これを試して、それは何も変更されていないようです。まだ同じエラーが発生しています。 – bentup

+0

編集を参照してください... –

+0

アレグロが、これは私に「C連携機能を与えることがC++クラスの修正 "エラーを返すことができない、C++で動作するように設計されています。 – bentup

0

#include <allegro.h> 

を変更する必要があるとfstream。私はこの問題がなぜ修正されたのかはわかりませんが(最初にallegro.hを含む他のコードを見たことがありますが)少なくとも動作します。それはAに良いことだという名前空間std`を使用すると、間違ったそしておそらく危険です

あなたの問題とは関係のない
+0

おそらくアレグロ・ヘッダ・ファイルは、Visual Cと衝突、独自のマクロ++標準を定義しますヘッダーファイル? –

+1

https:// github。com/liballeg/allegro5/blob/master/include/allegro5/platform/astdint.h –

関連する問題