Ich habe gerade mein erstes Programm in C++ entwickelt und ich wollte es mit einem meiner Freunde zeigen. Leider, wenn er versucht, die exe zu öffnen, wird ein Fehler angezeigt, der besagt, dass "MSVCP140.dll fehlt". Warum passiert dieses Problem und wie kann er/ich es beheben?MSVCP140.dll fehlt
Antwort
Entweder Ihre Freunde laden Sie die Laufzeit-DLL machen (@ Kay Antwort) oder die App mit statischen Linken kompilieren.
Wechseln Sie im Visual Studio zu Project tab -> properties - > configuration properties -> C/C++ -> Code Generation
für die Laufzeitbibliothek, wählen Sie /MTd
für den Debug-Modus und /MT
für den Freigabemodus.
Dadurch wird der Compiler die Laufzeitumgebung in die App einbetten. Die ausführbare Datei wird erheblich größer sein, aber sie wird ohne die Notwendigkeit von Laufzeit-DLLs ausgeführt.
Das ist wahrscheinlich die C++ - Laufzeitbibliothek. Da es eine DLL ist, ist es nicht in Ihrer Programmdatei enthalten. Ihr Freund kann diese Bibliotheken von Microsoft herunterladen.
Entschuldigung, -1. Eine Antwort im Sinne von * "Das ist wahrscheinlich, was falsch ist, und dein Freund kann das irgendwie lösen" * ist keine Antwort. Außerdem ist die CRT nicht nur eine DLL. – IInspectable
Ihres Freundes PC fehlt die Runtime-Unterstützung DLLs für Ihr Programm:
Dies ist eines der Dinge, mit denen Anwendungen im Rahmen ihrer Bereitstellung/Einrichtung zu kämpfen haben, da nicht alles, was Ihre Anwendung verwendet, in das Betriebssystem integriert ist. Siehe [Bereitstellen von systemeigenen Desktopanwendungen (Visual C++)] (https://msdn.microsoft.com/de-de/library/zebw5zk9.aspx). Beachten Sie, dass, wenn Ihre Anwendung eine Windows Store-Anwendung war, der Store die Bereitstellung des Visual C++ CRT für Sie übernimmt. –
Ich bekomme den gleichen Fehler auf meinem PC, obwohl ich das volle Visual Studio 2015 installiert habe. Das Redistributable-Installationsprogramm wird beendet, da eine neuere Version bereits installiert ist. Irgendwelche Gedanken? – matth
dass in der Regel bedeutet, dass Ihr Freund nicht der Microsoft verteilbaren für Visual C++ hat. Ich nehme natürlich an, dass Sie VC++ und nicht MingW oder annother Compiler verwenden. Da dein Freund VS nicht installiert hat, gibt es keine Garantie, dass er die Redist installiert hat.
- 1. MSVCP110.dll fehlt
- 2. Electron JS: Anwendung läuft nicht nach dem Verpacken elektronen Packager (VCRUNTIME140.dll MSVCP140.dll)
- 3. C++/CLI fehlt MSVCR90.DLL
- 4. Mingw libgcc_s_sjlj-1.dll fehlt
- 5. Python offiziellen Installer fehlt python27.dll
- 6. dll fehlt Abhängigkeiten auf Windows 7-Dateien
- 7. DLL fehlt von der Modulliste in VS2010
- 8. mspdb140.dll fehlt von Ihrem Computer
- 9. Apache sagt httpd.exe -Systemfehler (DLL-Datei fehlt)
- 10. mingwm10.dll fehlt im Ordner bin
- 11. DLL-Datei oder .exe-Datei fehlt
- 12. TFS 2015 SDK fehlt Microsoft.WITDataStore64.dll
- 13. msvcr110_clr0400.dll fehlt auf Ihrem Computer
- 14. Microsoft.Data.Schema.ScriptDom.Sql dll/Namespace fehlt in vs 2013
- 15. Referenzen und DLL fehlt von TFS erhalten neueste
- 16. Visual Studio Beim Veröffentlichen einer Klasse fehlt DLL
- 17. WSASetSocketSecurity fehlt
- 18. Telerik.WebControls Assembly fehlt
- 19. HttpConfiguration fehlt Assembly
- 20. CreateProcess STATUS_DLL_NOT_FOUND - welche DLL?
- 21. Fehlende msvcr80.dll
- 22. ServiceBus AppFabricLabs DLL
- 23. Missing mingwm10.dll
- 24. Fehlende msvcr100.dll
- 25. Die Anwendung fehlt erforderliche Dateien
- 26. Dynamisch eine DLL laden
- 27. Datenbankverbindung "Mysql" fehlt und mysql.sock fehlt
- 28. Warum fehlt die geladene DLL in der Modulliste von Visual Studio?
- 29. api-ms-win-crt-Runtime-l1-1-0.dll fehlt beim Öffnen von Microsoft Office-Datei
- 30. Windows .exe mit gui2exe, dass Arbeit nicht wegen msvcp90.dll fehlt
Könnten Sie vielleicht Zahlen hinzufügen, wie groß eine "Hallo Welt.exe" ist mit dynamischen und statischen Verknüpfung? – kay
@Kay Static Linking enthält normalerweise nur das, was benötigt wird, nicht alles in der Bibliothek. Die Größenzunahme der ausführbaren Datei hängt davon ab, wie viel von der C-Laufzeit verwendet wird. – Andy
Eigentlich ist es nicht notwendig, mit der Debug-Version der Laufzeit zu verlinken, außer dass Sie die Laufzeitbibliothek debuggen wollen. – user1810087