2012-04-04 6 views
1

So kompiliert das Programm fein, und die ausführbare Datei wird in $ (SolutionDir)/Debug generiert. Wenn ich die ausführbare Datei aus dem Debug-Ordner selbst ausführe, durchsucht das Programm erfolgreich den Ordner, der sich im dubug-Verzeichnis befindet, nach Dateien. Wenn ich das Programm von Visual Studio ausführe, wird das Programm jedoch fehlschlagen, wenn ich den globalen Pfad dieses Verzeichnisses in der Funktion FindFirstFile eingab. Warum?Kann relative Dateipfade nicht angeben, wenn Programm mit Visual C++ 2010 gestartet wird

Zum Beispiel: Ich habe dies zu tun, um das Programm von Visual Studio zu debuggen:

#ifdef _DEBUG 
#define FILEPATH L"C:/Users/Steven/Documents/Visual Studio 2010/Projects/$(SolutionDir)/Debug/Effects/*.dll" 
#else 
#define FILEPATH L"Effects/*.dll" 
#endif 

Antwort

1

Wahrscheinlich, weil, wenn die Anwendung unter dem Debugger ausgeführt wird, das Arbeitsverzeichnis Verzeichnis nicht das Projektes ist , sondern das Debugger-Verzeichnis (oder ein anderes beliebiges Verzeichnis, das Ihre DLL-Datei nicht enthält).

Überprüfen (und beheben) Sie dies, indem Sie die Eigenschaften Ihres Projekts öffnen und die Debugging-Einstellungen überprüfen. Insbesondere Eigenschaften → Konfigurationseigenschaften → Debuggen. Die Einstellung "Arbeitsverzeichnis" sollte auf festgelegt werden.

+0

Schöner Fang. Der Wert wurde auf $ (ProjectDir) festgelegt –

Verwandte Themen