2010-06-08 7 views
19

Nicht sicher, was von diesem Fehler zu machen. Hinzugefügt -D_WIN32_WINNT=0x0501 zu Visual Studio "Command Line" -Optionen unter Projekteigenschaften, aber es sagt, dass es nicht erkennt und die Warnung immer noch erscheint.D_WIN32_WINNT Compiler Warnung mit Boost

Ich bin mir auch nicht sicher, wie Sie die Präprozessor-Definition hinzufügen.

1> Bitte definieren _WIN32_WINNT oder _WIN32_WINDOWS angemessen. Zum Beispiel:
1> - Hinzufügen -D_WIN32_WINNT = 0x0501 in die Compiler-Befehlszeile; oder
1> - Fügen Sie _WIN32_WINNT = 0x0501 zu den Präprozessordefinitionen Ihres Projekts hinzu.

Antwort

18

Ich denke, Sie sind wirklich nah daran, dies zur Arbeit zu bringen. John Dibling gab drei Möglichkeiten, wie Sie dies tun könnten und es sieht so aus, als hätten Sie die dritte Lösung ausprobiert: "Gehen Sie zu den Projekteinstellungen ... und fügen Sie unter der Überschrift Konfigurationseigenschaften-> C/C++ -> PreProcessor hinzu ;_WIN32_WINNT = 0x0501 ". Sie haben geantwortet, dass Sie diesen Fehler immer noch erhalten und den Inhalt Ihrer Präprozessoreinstellungen, WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501, bereitgestellt haben. Ich denke, dass Sie das lösen können, wenn Sie _WIN32_WINNT = 0x0501 zu _WIN32_WINNT=0x0501 ändern. Wenn ich die Version mit Leerzeichen ausprobierte, wurde der Fehler nicht beseitigt, aber die Leerzeichen wurden entfernt.

3

ein Leerzeichen nach dem D Setzen

9

Einige Optionen.

1) Wenn Sie eine Haupt-Header-Datei haben, wie stdafx.h, könnte man hinzufügen:

#define _WIN32_WINNT 0x0501 

Oder man könnte hinzufügen, dass überall Sie es brauchen.

2) können Sie fügen -D _WIN32_WINNT=0x0501 (den Raum beachten)

3) Zum Projekteigenschaften> Konfigurationseigenschaften> C/C++> Proporcessor. Fügen Sie ;_WIN32_WINNT=0x0501 zu Preprozessor-Definitionen hinzu.

Persönlich wähle ich # 3, weil es gibt keinen Zweifel darüber zum richtigen Zeitpunkt in der richtigen Übersetzungseinheiten definiert ist, und ich möchte lieber die #defines alle eher an einem Ort haben als irgendein Wesen in Preprocessor Definiert und andere in der erweiterten Registerkarte.

+0

Nachfolgend finden Sie eine genaue Paste von dem, was in meinem # 3). Immer noch diesen Fehler zu bekommen. :( WIN32; _DEBUG; _CONSOLE; _WIN32_WINNT = 0x0501 – bobber205

+2

und @ bobber205: in Option # 3 Plätze setzen nicht um die Gleichen in der Präprozessordefinitionen Linie unterschreiben –

+0

nur ein kleiner Tippfehler: #define _WIN32_WINNT = 0x0501 ist nicht korrekt , entfernen Sie das "=" Symbol.Das ist richtig: #define _WIN32_WINNT 0x0501 – Dredok

4

Fügen Sie die folgende Zeile in Ihren Quellcode ein.

#include <SDKDDKVer.h> 
0

Für Code Blocks hier ist, wie Sie es tun.

Rechtsklick **Project Name** on your left >> Click 'Build Options' >> Select Debug or Release on your left >> Select 'Compiler Settings' Tab on the right >> Select #defines tab >> dann die folgende Zeile hinzufügen, wie es ist:

_WIN32_WINNT=0x0501 

>> Click Ok >> Close >> Right click **Project Name** again >> Re-build. 
Verwandte Themen