Kann nicht geöffnet Includedatei: 'ntddk.h'
Ich bin versucht, in zu erhalten-Treiber-Entwicklung (queue die "nicht-tun")
Ich schaue mir dieser msdn-Seite und nach der Installation der WDK (Windows Driver Kit) 10 ich bin immer noch nicht kompilieren Sie das Beispiel, dass Sie für diese Seite verwenden.
Ich habe mir bei anderen SO Fragen aber ich bin nicht in der Lage zu finden das installierte Verzeichnis der WDK. Wenn ich versuche den setup zu fahren, begrüsst mich dieser:
Wie kann ich dieses Problem lösen?
- Erstens - die Datei auf Ihrem computer - verwenden Sie die Suchfunktion zum finden der
ntddk.h
- Datei. In der Regel müssen Sie Ihre Projekt auf den DDK - dies ist eine Projekt-Konfiguration. Haben Sie nicht, sofern eine Menge Informationen, abgesehen von 'der DDK scheint installiert zu sein' hier. - Sorry, ich sollte erwähnt haben, dass die Suche nach der Datei ergibt kein Ergebnis. Ich finde das seltsam, da sagt Sie das WDK installiert ist.
- Sie verpasste die erste Sache, die Sie sehen, wenn Sie SO Fragen. Der Titel. @HansPassant
- Ich musste manuell ein Schleppnetz für die Datei, aber es war in
c:\program files (x86)\Windows Kits\10\Include\10.0.10586.0\km
. Du bist wahrscheinlich fehlen einige Einstellungen in dem Beispiel, um es zu arbeiten - Du bist ein Gott senden @Petesh ich habe keine Ahnung, warum das nicht zeigen, wenn ich die Suche für Sie auch. Danke!!!
- Es scheint ein Recht häufiges Problem. Die "Probe-Fahrer" erstellt von " VS wird erwartet, bereit zu sein, um zu kompilieren, ist es aber nicht 🙁
- Ich habe genau das gleiche problem, ich vermute es ist ein bug in der aktuellen WDK-installer. Aber dein workaround funktioniert, könnte es eine offizielle Antwort, anstatt eine einfache Bemerkung (und ich würde für ihn Stimmen)
- Dies scheint ein ernstes problem mit der neusten WDK. Ich installierte 10.0.14393.0 (frisch) und auch das erstellen einer leeren kernel-Modus-Treiber-Projekt nicht die include-Verzeichnisse richtig. Basteln es scheint nicht zu helfen, entweder, wie es klagt über 10.0.14393.0 nicht installiert. Keine von Ihnen hatte viel Glück..?
- ..Ich denke es ist etwas foobared; ich versuchte, Sie zu installieren, die 10.0.14393.0 Windows SDK (nicht die WDK) und es versäumt zu fordern, "nicht genügend Privilegien" - und das ist als Admin ausgeführt. Etwas ist nicht richtig ich kann dir sagen...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die WDK-Header Weg, um Ihre vcxproj include-Verzeichnisse:
vcxproj Eigenschaften -> C/C++ -> allgemein -> Zusätzliche Include-Verzeichnisse
P. S.: Stellen Sie sicher, dass Sie installieren-SDK-10 zusammen mit WDK 10.
P. P. S: Ohne SDK erhalten Sie
Cannot open include file: 'ntdef.h'
FehlerFaustregel
Wenn Sie brauchen, um zu bauen mit den neuesten (oder bestimmte) version des WDK, überprüfen Sie, dass die entsprechende version von Win-SDK installiert ist.
Vermutete Ursache
In-Prozess-debugging das Problem es zeigte sich, dass (aufgrund des SDK-version) build-Prozess wurde die Einstellung $(LatestTargetPlatformVersion) zu 10.0.10586. Während das WDK installiert bietet die benötigten Versionen von build-Dateien nur für 10.0.14393 version. Sieht aus wie dieses etwas das beabsichtigte Verhalten.
Meinem Fall
In meinem Fall war es aufgrund verschiedenen Versionen von Windows SDK und WDK.
Ich hatte SDK 10.0.10586 und WDK 10.0.14393.
Die Installation von SDK 10.0.14393 löste das Problem für mich.
Seite Hinweis
Windows SDK installiert wird, mit Standard-layout von VS2015, aber für einige Grund es nicht zu bekommen, updates im Prozess der VS-updates.
Es ist ein Makros $(DDK_INC_PATH), die Hinzugefügt werden können, gehören Verzeichnisse Ihres Projekts (vcxproj Eigenschaften -> VC++ - Verzeichnisse -> Include-Verzeichnisse)
Gelöst, indem man ein anderes "Windows SDK Version" in Visual Studio unter Projekt-Eigenschaften -> allgemein.
In das Verzeichnis
C:\Program Files (x86)\Windows Kits\10\Include
ich habe 5 Ordner mit Windows-SDKs. Das neueste (10.0.17763.0) keinenkm
Unterordner. Nach der änderung des Windows SDK-Version von10.0.17763.0
zu10.0.17134.0
in Visual Studio dientddk.h
header gefunden wurde.