web-dev-qa-db-de.com

Visual Studio 2017 kann windows.h nicht finden

Hell'o Ich habe gerade Visual Studio 2017 (Enterprise) installiert. Ich habe mein Projekt geöffnet, das ich in Visual Studio 2015 erstellt habe. Mein Projekt verwendet die windows.h-Bibliothek, aber VS2017 kann diese Bibliothek nicht finden. Wie kann ich das reparieren? 

15
Marcin Klima

Meine Lösung war:

  • Öffnen Sie die Projekteigenschaften
  • In Allgemein -> SDK-Version
  • Ich habe gerade die Version 10.0.15063.0 statt 8.1 ausgewählt

Und es hat funktioniert.

46
ImFonky

Ich habe dieses Problem behoben, indem ich das Visual Studio-Installationsprogramm erneut ausgeführt und die Schaltfläche "Ändern" ausgewählt habe. Nachdem der Workloads-Bildschirm angezeigt wurde, klickte ich auf die Registerkarte "Einzelkomponenten" und wählte alle neuesten Kontrollkästchen für "Windows 10 SDK" (Version 10.0.15063.0) aus. Meine Vermutung ist, dass der Eintrag für "Desktop C++ x86 und x64" derjenige ist, der ihn tatsächlich behebt, aber es ist nur Spekulation, da beim Ausführen des Installationsprogramms keine dieser Optionen geprüft wurde.

 enter image description here

20
James Pack

Dies geschieht, wenn Sie Include-/Library-Pfade in älteren Projekten angepasst haben. Wenn Sie eigene zusätzliche Pfade in den Projekteigenschaften hinzugefügt haben, kann VisualStudio 2017 beim Wechseln zwischen Plattformen/Toolsets nicht automatisch Basispfade ermitteln. Normalerweise werden hier automatisch die richtigen Pfade eingefügt. Wenn Sie jedoch Anpassungen hinzufügen, werden sie von VS nicht berührt. 

Dies ist ein legitimes Problem, auf das ich kürzlich gestoßen bin, als ich ein altes Projekt für Windows XP in VS2017 migrierte. Keine der hier aufgeführten/verknüpften Antworten oder Kommentare sind hilfreich. Ich habe alle Legacy-SDKs im VisualStudio 2017-Installationsprogramm und nichts von diesem festen VS, das nicht unbedingt erforderlich ist, enthält <windows.h>. In meinem Fall wurde für das Projekt das Toolset v120 aus VS2013 verwendet, das in neueren VS durch v140_xp ersetzt wird. 

Nachdem ich die richtige Plattform und das richtige Werkzeugset von VS2017 festgelegt hatte, habe ich Folgendes getan, um das Problem zu beheben: 

  • Öffnen Sie die Projekteigenschaften, wechseln Sie zu VC++ - Verzeichnisse. Wählen Sie für "Include Directories" und für "Library Directories" die Option <Inherit from parent or project defaults> aus. Dadurch werden Ihre zusätzlichen Pfade entfernt. 

  • Klicken Sie auf "Übernehmen". Dadurch wird der Include-Pfad auf etwas wie $(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86) zurückgesetzt (variiert für SDKs). 

  • Fügen Sie Ihre zusätzlichen Pfade hier erneut hinzu, oder besser noch - unter C/C++/Allgemein -> Zusätzliche Include-Verzeichnisse und Linker/Allgemein -> Zusätzliche Bibliotheksverzeichnisse.

10
Cozzamara

Ich habe es behoben, als ich einfach "Allgemein => Windows SDK-Version" in eine andere Version geändert, die Änderungen übermittelt und dann wieder geändert habe.

1
Aivar

Wenn die Installation in Ordnung war, sollte es hier sein:

C:\Programme (x86)\Windows Kits\10\Include\10.0.15063.0\um\Windows.h

Stellen Sie daher sicher, dass es sich im Include-Pfad der Projekteigenschaften befindet.

 Project properties

Oder wenn Sie die manuelle Bearbeitung in der .vcxproj-Datei in der IncludePath-Tag-Zeile bevorzugen:

<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath>
1
Zanna

Das Problem tritt auf, wenn Sie Ihr C++ - Projekt von einer aktuelleren Visual Studio-Version auf eine kleinere migrieren. Um dieses Problem zu lösen, gehen Sie einfach zu Ihrem: Projekt Eigenschaften -> Allgemein -> SDK-Version)[[und hier abrollen, um die installierten SDK-Versionen anzuzeigen, sodass Sie auf eine verfügbare Version herunterstufen. {Da die erforderliche Version nicht verfügbar ist, wird der Fehler}] ..__ angezeigt Gehen Sie zurück zu Ihrem Code und alles wird behoben.

1
Thanos

Dieser Schritt funktioniert für mich .. 1. Öffnen Sie das Visual Studio-Installationsprogramm 2. Im Menü "Visual Studio Comunity 2017" -> Klicken Sie auf Ändern 3. bei der Desktop-Entwicklung mit c ++ - aktivieren Sie das Windows10-SDK für Desktop- und Windows 8.1-SDK 4. Klicken Sie auf Ändern 

0
chokelive

Meine Lösung bestand darin, Wege zu überprüfen.

Verzeichnisse einschließen:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)

Bibliotheksverzeichnisse:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64

klicken Sie dann mit der rechten Maustaste auf Solution Explorer: Solution 'xxxxx' (1 Projekt), und klicken Sie auf "Lösung umsetzen".

Denken Sie daran, die Debug-Einstellung für das Abrufen von Symbolen festzulegen - Windows 10 muss den Microsoft-Symbolserver verwenden!

Sie müssen zum Visual Studio 2017-Installationsprogramm wechseln, Einzelkomponenten auswählen und Windows 8.1 SDK manuell auswählen und installieren.

0
Mardulu

Ich habe auch Visual Studio 2017 (Community) zuerst mit den Standardeinstellungen für die Komposition installiert. Ich habe mein Projekt geöffnet, das ich in Visual Studio 2015 erstellt habe. Mein Projekt verwendet die windows.h-Bibliothek. VS2017 kann diese Bibliothek und andere Probleme nicht finden. Zuerst installiere ich die fehlenden (SDK 10 ... etc.) Komponenten. Ein Teil der Probleme ist weg, aber windows.h wurde immer noch nicht gefunden. Das Problem wurde gelöst, indem VS2017 vollständig deinstalliert und anschließend mit allen Optionen gleichzeitig installiert wurde.

0