Visual Studio 2015 Laufzeitabhängigkeiten oder wie Universal CRT loswerden?
Kompilierte einige DLLs, die Visual Studio 2015 verwenden, und versuchten, sie auf einigen älteren Windows 7/64-Bit-Versionen bereitzustellen. Versucht auch zu erraten, welche DLLs für die Anwendung benötigt werden, um MSVCP140.DLL & VCRUNTIME140.DLL zu starten und zu kopieren - aber die Anwendung konnte die vs2015-DLL nicht laden. Begann zu analysieren, was falsch ist - und Abhängigkeits-Walker zeigte Abhängigkeiten von folgenden DLLs:
API-MS-WIN-CRT-MATH-L1-1-0.DLL
API-MS-WIN-CRT-HEAP-L1-1-0.DLL
API-MS-WIN-CRT-CONVERT-L1-1-0.DLL
API-MS-WIN-CRT-STRING-L1-1-0.DLL
API-MS-WIN-CRT-STDIO-L1-1-0.DLL
API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL
API-MS-WIN-CRT-FILESYSTEM-L1-1-0.DLL
API-MS-WIN-CRT-TIME-L1-1-0.DLL
Dies war besonders überraschend, da CRT meines Erachtens für das Starten von DLL / EXE verantwortlich ist und keine übergeordneten Dienste bereitstellt.
Ok, ich habe versucht herauszufinden, wie ich sie loswerden oder zumindest minimieren kann.
Einen Artikel gefunden:https: //blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt
It erwähnt die Veröffentlichung statischer Bibliotheken - also dachte ich, ich könnte eine Verknüpfung mit ihnen herstellen und die Abhängigkeit * L1-1-0.DLL * beseitigen, aber egal, was ich versucht habe - ich hatte keinen Erfolg. Ich habe versucht, eine Verknüpfung zu libvcruntime.lib, libucrt.lib, libcmt.lib herzustellen, die Linkeroption "/nodefaultlib:vcruntime.lib" zu deaktivieren und sogar das Include-Verzeichnis $ (UniversalCRT_IncludePath) hinzuzufügen und einige zu überschreiben Ich habe versucht zu erraten, dass sie funktionieren - keiner meiner Versuche hat geholfen.
Als Zwischenlösung greife ich auf Visual Studio 2013 zurück, wo es nur zwei CRT-DLLs gibt: msvcp120.dll, msvcr120.dll.
Natürlich werden Sie wahrscheinlich empfehlen, die Laufzeit von Visual Studio 2015 zu installieren, aber eine unserer Anforderungen besteht darin, eigenständige ausführbare Dateien zu unterstützen - dies funktioniert ohne Installation -, sodass eine zusätzliche Installation vorerst nicht in Frage kommt.
Kannst du mir etwas anderes empfehlen, als auf die Ankunft von Visual Studio 2017 zu warten?