allegro.h, Problem
-
XHansWurstX schrieb:
Interessant: "It is astonishing to find that a header that was standardized 9 years ago has still not made its way into Visual Studio 2008. Not even the recent feature pack beta which included support for most of the TR1 extensions, contained stdint.h! The lack of support for this header was logged as a bug with Microsoft way back in 2005 but is still in the "postponed" bucket." Quelle
Dazu ebenfalls ein Link zu selbsterstellten stdint.h
ach, da haben die von microsoft vergessen bei der msvc version 2008 den header stdint.h in die library einzubinden. deshalb wurde die nie gefunden. ich werde sie mal versuchen von dem link oben zu bekommen und sie in die standard library einbinden. hoffe, dass das mein problem behebt.
ich werde mich am montag wieder melden, ob es geklappt hat, weil ich am wochenende keine zeit für den rechner habe. vielen dank
mfg stefan
-
ich habe jetzt eine neue headerdatei namens stdint.h angelegt und unter include im VC ordner von visual studio 2008 abgelegt. den quelltext habe ich von dieser seite kopiert.
http://msinttypes.googlecode.com/svn/trunk/stdint.hwenn ich nun allegro.sln ausführe öffnet sich die programmierumgebung.
ich stelle oben neben dem grünen pfeil auf release und starte das debugging.dann kommen über 2000 Zeilen nur fehlermeldungen.
z.b. die ersten fehler
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(69) : error C2632: 'char' gefolgt von 'char' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(70) : error C2632: 'short' gefolgt von 'short' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(71) : error C2632: 'int' gefolgt von 'int' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(72) : error C2632: '__int64' gefolgt von '__int64' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(73) : warning C4114: Der gleiche Typbezeichner wurde mehrmals verwendet 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(73) : error C2632: 'char' gefolgt von 'char' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(74) : warning C4114: Der gleiche Typbezeichner wurde mehrmals verwendet 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(74) : error C2632: 'short' gefolgt von 'short' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(75) : warning C4114: Der gleiche Typbezeichner wurde mehrmals verwendet 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(75) : error C2632: 'int' gefolgt von 'int' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(76) : warning C4114: Der gleiche Typbezeichner wurde mehrmals verwendet 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(76) : error C2632: '__int64' gefolgt von '__int64' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(103) : error C2632: 'int' gefolgt von 'int' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(104) : warning C4114: Der gleiche Typbezeichner wurde mehrmals verwendet 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(104) : error C2632: 'int' gefolgt von 'int' ist unzulässig 1>wtimer.c 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(69) : error C2632: 'char' gefolgt von 'char' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(70) : error C2632: 'short' gefolgt von 'short' ist unzulässig 1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(71) : error C2632: 'int' gefolgt von 'int' ist unzulässig
-
stefan-84 schrieb:
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdint.h(69) : error C2632: 'char' gefolgt von 'char' ist unzulässigDer Fehler muß woanders liegen. In der von Dir angegebenen Datei gibt es in Zeile 69 gar kein "char".
cat stdint | grep -in 'char' 46:// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}' 52:# include <wchar.h> 196:// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h> 197:#ifndef WCHAR_MIN // [ 198:# define WCHAR_MIN 0 199:#endif // WCHAR_MIN ] 200:#ifndef WCHAR_MAX // [ 201:# define WCHAR_MAX _UI16_MAX 202:#endif // WCHAR_MAX ]EDIT: Genaugenommen kommt 'char' alleine garnicht vor...
EDIT 2:
Das ist Zeile 69
69: // 7.18.1.1 Exact-width integer types
-
kannst du mir vieleicht eine andere Version von C++ empfehlen, mit der man besser klar kommt. sie sollte im netz als freeware zu downloaden sein.
mfg stefan
-
stefan-84 schrieb:
kannst du mir vieleicht eine andere Version von C++ empfehlen, mit der man besser klar kommt. sie sollte im netz als freeware zu downloaden sein.
EDIT: mit "andere Version" meinst Du hoffentlich die Entwicklungsumgebung (bei Dir VisualStudio).
Ich würde Dir Code::Blocks empfehlen.
Evtl brauchst Du dafür noch einen Compiler. MinGW wird da oft empfohlen.Ansonsten empfehlen viele Eclipse. Wobei Eclipse eigentlich eine Java-Entwicklungsumgebung ist, welche jedoch mit PlugIns auch C++ Kompilieren kann.
-
kannst du mir vieleicht eine andere Version von C++ empfehlen, mit der man besser klar kommt.
Ich habe Visual Studio 2008 Express German (von hier) installiert, die Include- & Library-Pfade zum DirectX-SDK (June 2008) eingefuegt und damit die Allegro (4.22 von hier) DLL und die beiliegenden Beispiele ohne Fehler kompiliert.
Deutlich einfacher wird's wohl mit einer anderen Entwicklungsumgebung auch nicht gehen.