Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.10.2011, 22:07
ElChupkapres



Ich habe hier ein Visual Studio 2005 Projekt das auf einem Laptop mit Windows Xp entwickelt wurde. Ich versuche gerade dieses auf einem Rechner mit Windows 7 64 Bit zum laufen zu bekommen. Auf dem Windows 7 Rechner ist ebenfalls Visual Studio 2005 + Service Pack installiert.

Ich bekommt beim compilieren den Fehler, das bestimmte Ausdrücke (z.B. HRAWINPUT) nicht definiert sind. Nach einigem nachforschen habe ich rausgefunden, das diese in der ..\Microsoft Visual Studio 8\VC\PlatformSDK\include\winuser.h definiert sind, in den Bereichen die mit

Quellcode:#if(_WIN32_WINNT >= 0x0501)
...
#endif
eingefasst sind. Diese sind bei dem Win 7 Rechner grau ausgeblendet.

Sehe ich das richtig das das damit zu tun hat, das ich ein anderes Betriebssystem nutze?

Wenn ich das if /endif auskommentiere, compiliert es, aber das kann ja nicht im Sinne des Erfinders sein. Gibt es da eine vernünftige Lösung?

Für den Titel entschuldige ich mich, war schwer da einen vernünftigen zu finden.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
18.10.2011, 23:35
Bluthund



Zitat:
ElChupkapres postete
Sehe ich das richtig das das damit zu tun hat, das ich ein anderes Betriebssystem nutze?
Nein.

Wenn Codebloecke in VS grau ausgelendet sind, heisst es dass sie nicht mit kompiliert werden, weil sie sich innerhalb eines Praeprozessor-Pfads befinden, dessen Condition nicht erfuellt ist.
Sehr wahrscheinlich hast du _WIN32_WINNT (bzw. WINVER) nicht gesetzt:
http://msdn.microsoft.com/en-us/library/aa383745(v=vs.85).aspx#setting_winver_or__win32_winnt

Mit den beiden Praeprozessor-Konstanten legst du fest welche SDK-Features du einbinden moechtest. Nur zur Info damit du nicht denkst, dass du das immer auf den Wert des aktuellen Betriebssystems setzen musst.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 18.10.2011 um 23:48 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
19.10.2011, 00:21
ElChupkapres



Ok vielen dank, ich konnte das Problem lösen indem ich bei dem entsprechenden Projekt _WIN32_WINNT=0x0501 bei den Präprozessordefinitionen hinzugefügt habe.

Aber ich verstehe immer noch nicht warum es auf dem anderen Rechner ohne lief, auf dem Rechner mit Windows 7 aber nicht.

--

zum Seitenanfang zum Seitenende Profil || Suche
003
19.10.2011, 13:46
Bluthund



Evtl. waren die Konstanten auf dem anderen Rechner global in der IDE gesetzt worden und nicht in den Projekteinstellungen.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
004
19.10.2011, 13:53
ElChupkapres



Alles klar, nochmal danke für deine Hilfe. Wieder was dazugelernt :)

--

zum Seitenanfang zum Seitenende Profil || Suche