Frage

habe ich ein Programm in Visual Studio 2010 auf Windows 7 64-bit. Wenn ich versuche, es auf Windows XP zu laufen 32-Bit-I Nachricht bekam, dass msvcr100.dll fehlt. Wenn ich versuche, die Datei von Win7 winXP ich zu kopieren bekam Nachricht, dass msvcr100.dll falsch ist. Wie baut in VS zu setzen, so msvcr100.dll nicht notwendig wäre?

War es hilfreich?

Lösung

Zuerst müssen Sie sicherstellen, dass Sie ein Gebäude 32 ausführbare Bit -. 64-Bit-Einsen werden nicht auf 32-Bit-Windows ausgeführt

Dann können Sie entweder ...

  • die 32-Bit-redistributables mit Ihrer Anwendung.
  • Entfernen Sie die Laufzeitabhängigkeit zusammen und verknüpfen statisch zu dem C ++ Runtimes. Um dies zu tun, Satz Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library zu Multi-threaded (/MT).

Andere Tipps

Die Verknüpfung der Laufzeitbibliotheken sollten statisch helfen. Zum Projektoptionen -> C / C ++ -> Code Generation -> Laufzeitbibliothek und den Wert auf Multithreaded oder Multithreaded Debug und recompile ändern. Auf diese Weise Ihre Anwendung sollte nicht auf die Laufzeit DLLs abhängen.
Vergessen Sie auch nicht eine 32-Bit-ausführbare Datei zu erstellen.

Die Antworten über mir geholfen entlang, aber ich war immer noch den Fehler bekommen:

fatal error C1189: #error: Bitte benutzen Sie den / MD-Schalter für _AFXDLL baut

So zu helfen anderen, die kann, wie ich, verbrachte viel zu viel Zeit herumstolpern auf der Suche nach einer klaren Lösung haben, möchte ich die Spitze der Informationen hinzuzufügen, die dieses Problem für mich gelöst. Wie sich herausstellte, hatte mein Projekt für die falsche Seite „Verwendung von MFC“ -Einstellung über die Verwendung der Antwort zu machen.

Um es in klaren Worten gesagt:

Öffnen Sie die Projekteigenschaften (Alt-F7 oder Projekt-Menü -> [My Project] Properties) und gehen Sie zu Project -> Properties -> Configuration Properties

Wenn General -> Use of MFC wird auf Use MFC in a Static Library

Sie müssen eingestellt

C/C++ -> Code Generation -> Runtime Library

zu beiden Multi-threaded Debug (/MTd) oder Multi-threaded (/MT)

und wenn

General -> Use of MFC wird auf Use MFC in a Shared DLL

Sie müssen eingestellt

C/C++ -> Code Generation -> Runtime Library

zu beiden Multi-threaded DLL (/MD) oder Multi-threaded Debug DLL

Ich habe diese Antwort von der Microsoft Answers-Website und alle Kredite David Wilkinson .

eingeben image description hier

Schritt 1: . Gehen Sie auf dieser Website dll-files.com. Bildbeschreibung eingeben hier

dll-files.com ist eine große Sammlung von Windows-DLL-Dateien und hat fast alle DLL-Dateien, die auf Windows vorhanden sind.

Schritt 2. Jetzt gibt DLL Fehler im Suchfenster der Website eingeben.

Schritt 3. DLL-Files.com wird sofort die Zip-Datei, dass bestimmte DLL-Datei enthält, auflisten. Laden Sie diese Zip-Datei auf Ihren Computer und entpacken Sie es. Die extrahierten Ordner werden die DLL-Fehler-Datei enthalten.

eingeben image description hier

Schritt 4. Kopieren Sie die Download-DLL-Datei (nur diese Datei) und fügen Sie diese Datei in Ihrem Standard-Systemordner auf der Grundlage Ihrer Betriebssysteme unten. C: Windowssystem (Windows 95/98 / Me) C: winnt \ System32 (Windows NT / 2000) C: \ Windows \ System32 (Windows XP, Vista, Windows 7 / Windows 8.1 / Windows-10)

Fenster werden Sie gefragt, ob Sie die vorhandene DLL-Datei mit dem neuen ersetzt werden sollen. Sagen Sie Ja und lassen Sie Windows die Datei kopieren. Starten Sie Ihren Computer und voila, Sie können jetzt das Spiel / app ausführen, die nicht öffnete und geben die DLL-Fehler, leicht.

Es gibt viele andere Websites, die Sie Dateien geben DLL, die Sie wünschen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top