Fehler C2039: "SetDefaultDllDirectories": ist kein Mitglied des globalen Namespace

8

xxx \ vc \ atlmfc \ include \ atlcore.h (638): Fehler C2039: "SetDefaultDllDirectories": ist kein Member von "globalem Namespace"

%Vor%

die Funktionen darin sind alle nicht von VS realisiert Wie kann ich dieses Problem lösen? Ist etwas falsch mit der Bibliothek? Ich führe dieses Programm in VS2012

    
Sparta_why 22.05.2013, 18:15
quelle

6 Antworten

9

Sie müssen sicherstellen, dass "_USING_V110_SDK71_" in Ihren Projekteigenschaften definiert ist. Visual Studio definiert dies automatisch für Sie. Es wird normalerweise nicht angezeigt, weil "Von übergeordneten oder Projektstandards übernehmen" nicht angekreuzt ist.

Ich habe das bei der Aktualisierung von alten Atl-Projekten gefunden, bei denen die stdafx.cpp aus irgendeinem Grund "Von Eltern- oder Projektstandards übernehmen" nicht angekreuzt hat.

Sie sollten sowohl die Projekteinstellungen als auch die einzelnen stdafx.cpp-Dateieinstellungen überprüfen, um zu bestimmen, dass in den Präprozessor-Definitionen das Kontrollkästchen "Übergeordnete oder Projektstandards übernehmen" aktiviert ist. In einigen Fällen wird das Dialogfeld "Präprozessordefinitionen" der Projektdatei überprüft, der Dialog "Präprozessordefinitionen" der spezifischen Datei stdafx.cpp wird jedoch NICHT überprüft.

    
Shane Powell 23.06.2013 06:32
quelle
3

Ich habe dieses Problem auch bei VS 2012 gesehen.

Dies liegt daran, dass Sie das Windows SDK 7.1 verwenden, das in% VS_20% nicht verfügbar ist. Sie werden möglicherweise feststellen, dass SetDefaultDllDirectories guarded Flag vorhanden ist, um die Verwendung von undefined #ifndef _USING_V110_SDK71_ zu vermeiden.

Definieren Sie einfach SetDefaultDllDirectories in Ihrem Projekt, damit SDK weiß, dass Sie sich in diesem Toolset befinden oder auf eine höhere SDK-Version upgraden.

    
Chen OT 10.11.2015 06:29
quelle
1

Die Reihenfolge der Include-Verzeichnisse und des enthaltenen SDK-Ordners ändert sich für mich: $(IncludePath);C:\Program Files x86\Microsoft SDKs\Windows\v7.1A\Include

Wenn ich den Ordner C:\Program Files %28x86%29\Microsoft SDKs\Windows\v7.1A\Include vor $(IncludePath) setze, bekomme ich diesen Fehler.

    
gTiancai 26.11.2015 08:44
quelle
0

Ich hatte ein ähnliches Problem mit VS2008, es erkannte keine Funktion. Ich habe es gelöst, indem ich DDX_Control zu DoDataExchange (CDataExchange * pDX) hinzugefügt habe.

    
Samer 06.08.2013 20:30
quelle
-1
  1. Fügen Sie vor allem folgende Zeilen in include

    ein

    $(VC_IncludePath)
    $(WindowsSDK_IncludePath)

  2. Deaktivieren Sie das Kontrollkästchen "Von übergeordneten oder Projektstandards übernehmen"

Manjit 25.08.2015 10:22
quelle
-1

Ich hatte das gleiche Problem. Dieser Trick funktioniert für mich. Dieses Problem tritt auf, wenn Visual Studio die Entwicklungsumgebung nicht ordnungsgemäß laden kann. Umgebungsvariablen können nicht geladen werden. also habe ich das versucht und es funktioniert gut.

Schritt # 1

Starten Sie die Eingabeaufforderung von Visual Studio, das Sie verwenden

Schritt # 2 Führe diesen Befehl aus.

%Vor%

Dieser Befehl öffnet Visual Studio und öffnet dann Ihr Projekt und kompiliert.

    
Kashif Meo 21.04.2016 06:10
quelle

Tags und Links