2 Stimmen

Visual Studio Ultimate 2010: Überprüfen Sie das win7 SDK?

Ich versuche, einige Code aus einer Windows-API zu kompilieren. Es wird gesagt, dass bestimmte .lib- und .h-Dateien in der Version des Windows 7 SDK enthalten sein müssen, die ich verwende. Visual Studio zeigt die .h-Dateien an, gibt aber Linkerfehler (L2019) aus, wenn ich versuche, das Projekt zu erstellen.

Wie kann ich überprüfen, welche Version des Win7 SDK ich habe, und wie kann ich sehen, ob es die erforderlichen .lib-Dateien enthält?

0voto

Nick Heiner Punkte 113947

Mögliche Lösung: Gehe zu "C:\Program Files\Microsoft SDKs\Windows" und prüfe, ob eine Version installiert ist (oder ob dieser Pfad überhaupt existiert).

0voto

Hans Passant Punkte 894572

Haben Sie dem Linker tatsächlich gesagt, dass er die entsprechende .lib-Datei verknüpfen sollte? Die Projektvorlagen verknüpfen nur die beliebtesten .lib-Dateien, kernel32.lib, user32.lib usw. Wenn Sie eine "ungewöhnliche" API-Funktion verwenden, müssen Sie dem Linker auch sagen, die Importbibliothek zu verknüpfen.

Projekt + Eigenschaften, Linker, Eingabe, Zusätzliche Abhängigkeiten. Wenn Sie nicht wissen, welche .lib benötigt wird, suchen Sie in der SDK-Dokumentation nach der API-Funktion. Die .lib-Datei ist am Ende des Artikels aufgeführt.

Eine weitere Möglichkeit ist es, in Ihrem Quellcode ein #pragma zu verwenden, um dem Linker mitzuteilen, dass er mit einer .lib-Datei verknüpft werden soll. Zum Beispiel:

#include 
#pragma comment(lib, "shlwapi.lib") // HINWEIS: Diese .lib-Datei muss verknüpft werden, um Shell-Funktionen zu erhalten

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X