2017-05-11 2 views
1

ich meine Bewerbung gebaut mit VS 2013 und lieferte zwei DLLs:Verschiedene C++ Redistributable DLL für VS 2013 und VS 2015

  • msvcp120.dll
  • msvcr120.dll

Aufbau der gleiche Anwendung mit VS 2015, sondern wir brauchen:

  • msvcp140.dll
  • vcruntime140.dll

Wird vcruntime140.dll die ehemalige msvcp120.dll ersetzen?

+0

Sie haben wahrscheinlich einen Tippfehler, es ist das grobe Äquivalent von msvcr120.dll. Die msvcr-Bibliothek wurde [in zwei Teile geteilt] (https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/), daher der Name geändert. Der zweite Teil ist ucrtbase.dll, der über Windows Update bereitgestellt wird. –

+0

ausführliche Konversation zum Thema (MSVC STL Dev enthalten) [hier] (https://www.reddit.com/r/cpp/comments/3fqxj0/visual_c_2015_redist_dlls/) – pergy

Antwort

3

Ja.

Visual Studio bricht normalerweise die Binärkompatibilität mit älteren Versionen, wenn es ein größeres Versionsupdate erhält. Die einzige bemerkenswerte Ausnahme ist der Übergang von VS2015 (14.x) zu VS2017 (15.x), der nicht Break Binärkompatibilität.

Wenn Sie bei allen anderen Versionen die Version von Visual Studio ändern, müssen Sie ändern, welche Runtime Redistributables auf dem Zielcomputer installiert werden.

EDIT: Per Christopher Beobachtung: Installieren Sie die .DLL-Dateien nicht manuell auf dem Zielcomputer. Laden Sie das Redistributable Installer from Microsoft herunter, und senden Sie es mit Ihrem Programm mit Anweisungen (oder einem Installer), die das zuerst installieren. Dieser Link verweist auf die Version 2015, aber Sie sollten sich die Version zulegen, die der von Ihnen verwendeten Version von Visual Studio entspricht.

+2

Noch einmal: Sie sollten nicht selbst einzelne DLLs kopieren. Ihr Zielcomputer sollte das Microsoft Visual Studio Redistributable Package für jede Version von Visual Studio installieren, die Sie verwenden. –

Verwandte Themen