Programm funktioniert auf Fremdrechner (Windows XP) nicht
-
Mit Boost habe ich eine kleine Anwendung geschrieben. Auf meinem PC funktioniert die Anwendung fehlerfrei; auf dem anderen System allerdings nicht. Beim Starten erhalte ich folgender Fehlermeldung von Windows:
---------------------------
cpp1.exe - Komponente nicht gefunden
---------------------------
Die Anwendung konnte nicht gestartet werden, weil MSVCP100D.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben.
---------------------------
OKIch vermute mal, es liegt daran, dass Boost auf dem System nicht vorhanden ist. Wie kann ich Boost mit in mein Projekt miteinkompilieren?
-
Vielleicht solltest Du einfach, wie die Fehlermeldung beschreibt, MSVCP100D.DLL mitliefern. Außerdem ist MSVCR100D.DLL benötigt.
-
Mit Boost hat dies nichts zu tun, du linkst dynamisch gegen die Laufzeitumgebung - in diesem Fall musst du eben die entsprechenden DLLs mit ausliefern oder statisch linken (bei den Compilereinstellungen zu finden).
Das D am Ende des Namens sagt übrigens aus, dass du gegen die Debugversion linkst, normalerweise verwendet man auf anderen Rechnern jeweils die Releaseversion des Programms. Irgendwo habe ich auch mal gelesen, dass die Weitergabe von Microsoft'schen Debug-Dlls untersagt ist (kann aber auch eine Ente gewesen sein).
-
Hallo inc7,
such mal im Netz nach "MSVC Runtime Redistributables".
Solange du nicht statisch die Runtime-DLLs gelinkt hast, müssen diese auf jedem anderen Rechner (ohne VS etc.) erst installiert werden.P.S. ja es stimmt, nur die Release-Versionen dürfen weitergegeben werden (und eben nur diese sind in den Restributable-Paketen enthalten).
-
Stimmt, mit Boost hat es nichts zutun. Ist mir auch gerade eben erst aufgefallen. Geht das auch ohne das MSVC Runtime Redistributables? Ich als Endnutzer hab MSVC Runtime Redistributables auch noch nie heruntergeladen. Gibt es da nicht einen anderen Weg?
-
inc7 schrieb:
Gibt es da nicht einen anderen Weg?
Lies doch Thorgrim noch mal...