Fehlende msvcr100.dll

8

Ich habe ein Programm in Visual Studio 2010 unter Windows 7 64-Bit erstellt. Wenn ich versuche, es auf Windows XP 32-Bit auszuführen, habe ich eine Nachricht bekommen, dass msvcr100.dll fehlt. Wenn ich versuche, diese Datei von Win7 nach WinXP zu kopieren, bekomme ich eine Meldung, dass msvcr100.dll falsch ist. Wie man Gebäude in VS so msvcr100.dll einstellen würde, wäre nicht notwendig?

    
Ichibann 22.09.2010, 10:57
quelle

3 Antworten

13

Zuerst müssen Sie sicherstellen, dass Sie eine 32-Bit-ausführbare Datei erstellen - 64-Bit-Versionen werden nicht unter 32-Bit-Windows ausgeführt.

Dann können Sie entweder ...

  • Senden Sie die 32-Bit-Redistributables mit Anwendung.
  • Entfernen Sie die Laufzeitabhängigkeit vollständig und verknüpfen Sie sie statisch mit den C ++ - Laufzeiten. Setzen Sie dazu Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library auf Multi-threaded (/MT) .
Joe Gauterin 22.09.2010, 10:59
quelle
2

Die statische Verknüpfung der Laufzeitbibliotheken sollte helfen. Gehe zu Projektoptionen - & gt; C / C ++ - & gt; Codegenerierung - & gt; Laufzeitbibliothek und ändern Sie den Wert in Multithread oder Multithread Debug und Neukompilieren. Auf diese Weise sollte Ihre Anwendung nicht von den Laufzeit-DLLs abhängen Vergessen Sie auch nicht, eine 32-Bit-ausführbare Datei zu erstellen.

    
Karel Petranek 22.09.2010 11:04
quelle
1

Die obigen Antworten halfen mir, aber ich bekam immer noch den Fehler:

  

fataler Fehler C1189: #fehler: Verwenden Sie den / MD-Schalter für _AFXDLL-Builds

Um anderen zu helfen, die wie ich vielleicht viel zu viel Zeit damit verbracht haben, auf der Suche nach einer klaren Lösung herumzustolpern, möchte ich die Information hinzufügen, die dieses Problem für mich gelöst hat. Wie sich herausstellte, hatte mein Projekt die falsche Einstellung "Verwendung von MFC", um die obige Antwort zu verwenden.

Um es klar auszudrücken:

Öffnen Sie die Projekteigenschaften (alt-F7 oder Projekt-Menü - & gt; [Mein Projekt] Eigenschaften) und gehen Sie zu Project -> Properties -> Configuration Properties

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

gesetzt ist

müssen Sie

festlegen

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

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

und if

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

gesetzt

müssen Sie

festlegen

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

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

Ich habe diese Antwort von der Die Microsoft-Community antwortet auf die Website und das gesamte Guthaben sollte an David Wilkinson .

    
Valdimar 07.10.2013 01:32
quelle