Programm startet nicht unter Win 7 jedoch unter XP

Hunter3

Grünschnabel
Hallo,


Ich habe mir mal einen kleinen C++ Chatserver gebastelt läuft auch wunderbar, allerdings nur auf Windows XP (Mein OS ist XP) ,wenn ich das Prog unter win 7 starte kommt eine Fehlermeldung das MSVCR100D.dll,MSVCP100D.dll nicht gefunden oder gestartet werden konnten.(hab die dll's mal in win 7 system folder gepackt, dann funktioniert es)
Ich habe ledeglich die Socket Funktionen und CreateThread verwendet.
Und jetzt ist meine Frage woran es liegt das mein Prog nicht auf win 7 läuft ?


Bedanke mich schonmal im Voraus für Antworten !
 
Hi.

MSVCR ist die Microsoft Visual C Laufzeit-Bibliothek, MSVCP die Microsoft Visual C++ Laufzeit-Bibliothek, offenbar Version 10.0 und kompiliert als Debug Version.

Jedes Visual C/C++ Programm benötigt diese Bibliotheken.

Man kann diese Bibliotheken entweder dynamisch (also als DLL) oder statisch linken.

Wenn dynamisch gelinkt, benötigt man die DLLs auf dem Zielsystem, d.h. die müssen installiert sein. Dazu gibt es jeweils Installer: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

Um statisch zu Linken muß man in den Projekteinstellungen die Laufzeitbibliothek auf "Multi-threaded" bzw. "Multithreaded Debug" für Release bzw. Debug Konfigurationen setzen.

Meist ist es aber besser die DLL Variante zu benutzen und z.B. einen Installer zu generieren, der automatisch die Runtime Bibliothek runterlädt/installiert wenn noch nicht vorhanden.

Es ist übrigens keine gute Idee die DLLs direkt ins System-Verzeichnis zu packen.

Gruß
 
Vermutlich wäre das Programm gelaufen wenn Du es als Release kompiliert hättest. Die Debug-Versionen sind normalerweise nur auf Systemen auf denen Visual-Studio installiert wurde.

Sollten sie nicht da sein empfiehlt sich die Installation des "Microsoft Visual C++ 2010 Redistributable Package" was man bei Microsoft kostenlos bekommt.
 
Zurück