error C1189: #error: Für diese Datei muss _WIN32_WINNT mindestens auf 0x0500 definiert sein. Wert 0x0501 oder höher wird empfohlen

7

Ich erstelle MFC-Projekt in VS2010 (Windows XP). Und ich nehme diesen Fehler:

%Vor%

Wenn ich in afxcomctl32.h : #define _WIN32_WINNT 0x0501 hinzugefügt habe, nehme ich 60+ Fehler. Im Projekt habe ich nichts hinzugefügt. Verwenden Sie beispielsweise Visual Studio. Was muss ich damit tun?

    
EXTRAM 01.02.2013, 10:12
quelle

4 Antworten

21

afxcomctl32.h ist ein falscher Ort, ich denke, um dieses Problem zu beheben, machen Sie Ihre stdafx.h wie folgt aussehen:

%Vor%     
duDE 01.02.2013, 10:15
quelle
3

Fügen Sie dies zum Anfang Ihrer StdAfx.h-Datei hinzu:

%Vor%

In meiner Anwendung definiere ich

%Vor%

Am Anfang hatte ich das gleiche Problem. Ich entdeckte, dass, wenn Sie MFC verwenden, Sie Windows.h nicht einschließen dürfen, _WIN32_WINNT_WINXP ist nie definiert und so hatte _WIN32_WINNT keinen gültigen Wert. Durch die Aufnahme des Headers, den windows.h verwendet, um diese Werte zu definieren (sdkddkver.h), funktioniert plötzlich alles!

Blech. Ich hasse es, für Windows zu programmieren.

    
aldo 19.10.2013 00:44
quelle
1

Sie müssen afxcomctl32.h nicht ändern. Sie müssen nur Windows.h vor dieser Datei einschließen.

Sollte funktionieren.

    
strannik 01.02.2013 10:30
quelle
0

Ich habe mein Problem gelöst. Fakt war, dass sich die Datei atmcore.h von der Standart in VS2010 unterscheidet.

    
EXTRAM 01.02.2013 13:32
quelle