Diese Frage wurde mehrmals auf SO gestellt und beantwortet, aber ich kann die vorgeschlagenen Lösungen nicht für meine Situation verwenden. Ich benutze eine Bibliothek, die von vielen (~ 50) DLLs abhängt. Dies ist Windows 7 x64, Visual Studio 2015, C++.Wie können DLLs während des Debuggens und der Neuverteilung einbezogen werden?
ZIELSETZUNGEN: (1) Geben Sie dem Debugger während der Entwicklung Zugriff auf die erforderlichen DLLs. (2) Stellen Sie zur Bereitstellung die erforderlichen DLLs entweder in einem Windows-Installationsprogramm oder als komprimierte Datei bereit, die in den Ordner der ausführbaren Datei oder in einen anderen Ordner kopiert werden soll. Wenn sich die DLLs nicht im Ordner der ausführbaren Datei befinden, muss das PGM während der Ausführung mitgeteilt werden.
Für (1) habe ich versucht, die Konfigurationseigenschaften/Debugging/Environment-Variable zu ändern, um den Pfad zu den DLLs hinzuzufügen, C: \ ProgramFiles \ Octave \ Octave-4.2.1 \ bin. Dies funktioniert aus irgendeinem Grund nicht.
Bevor ich etwas änderte, war die in der Konfiguration angezeigte Umgebungsvariable $(LocalDebuggerEnvironment)
, der Evaluated-Wert war PATH=;%PATH%
und die Inherited-Werte waren PATH=$(VCRedistPaths)%PATH%
.
Nach meinem Eintrag hinzufügen, hatte ich
Umwelt:
PATH=C:\ProgramFiles\Octave\Octave-4.2.1\bin%PATH%$(LocalDebuggerEnvironment)
Mein Eintrag:
PATH=C:\ProgramFiles\Octave\Octave-4.2.1\bin%PATH%
Übernahmewert:
PATH=C:\ProgramFiles\Octave\Octave-4.2.1\bin%PATH%
PATH=;%PATH%
Geerbte Werte:
PATH=$(VCRedistPaths)%PATH%
aber das Starten des Debuggers findet die DLLs nicht.
Was ist der richtige Weg, um die Pfadumgebung für den VS-Debugger zu ändern?
Was ist die vorgeschlagene Mittel, um mit Teil (2), Bereitstellung umzugehen?
Ich habe meinen Eintrag in der Umgebungskonfiguration in PATH = C: \ ProgramFiles \ Octave \ Octave-4.2.1 \ bin geändert;% PATH%; wie vorgeschlagen, und es macht keinen Unterschied. ABER, ich habe auch die Box am unteren Rand "Erben von Eltern oder Projekt Standardeinstellungen", und jetzt gibt es nicht mehr "DLL fehlende" Nachrichten, wenn ich mit dem Debuggen beginnen. Ich habe keine Ahnung, was los ist. Vielleicht hat es etwas mit PATH =;% PATH% zu tun, das in "Evaluated value" erscheint. – Woody20
Probieren Sie den Prozessmonitor aus. Es wird Ihnen helfen, das Problem zu beheben. – Nathan