exe-Datei läuft nicht auf anderem Rechner



  • Hallo,

    ich habe ein Programm geschrieben, welches ich auch gerne auf einem anderen Rechner ausführen will, da ich am Laptop keine serielle Schnittstelle habe.

    Nun ist das Problem, dass dort (kein Visual Studio installiert) das Programm nicht läuft. Zuerst kam die Meldung dass folgende DLLs fehlen:

    MFC42D.DLL
    MFCN42D.DLL
    MFCO42D.DLL
    MSVCRTD.DLL

    Nun habe ich diese DLLs vom Laptop auf den anderen Rechner kopiert (WINDOWS/System32).

    Jetzt kommen keine Fehlermeldungen mehr, dafür wird mein Programm sofort nach dem starten kommentalos wieder beendet.

    An was kann das liegen? Gibt es die Möglichkeit die exe so zu erstellen dass alle benötigten DLLs usw. mit rein gepackt werden? 😕



  • Welcher Compiler (genau) ?



  • Visual C++ 6.0 (ist das genau genug? 😕 )



  • Hi...

    Also bei mir kann ich am anfang angeben ob ich es mit der gemeinsam genutzten bibliothek oder mit statisch verknüpften Dll's einbinden will.

    Der Unterschied: gemeinsamgenutzte Bibliothek spart etwas Festplattenplatz aber dann kannstes nur da ausführen wo C++ installiert ist.

    Lösung:

    In meiner C++ Versin musst du auf "Projekt" dann "Einstellungen" und gleich unter der Registrierkarte "Allgemein" ist ein Dropdownmenü. Da steht "Microsoft Foundation Classes". Hier nun "In einer statischen Bibliothek verwenden" auswählen und dann "OK" klicken und dann neu übersetzen.

    Das sollte das Problem beheben.

    MFG hopelesshb


  • Mod

    Evtl. sind die benötigten DLLs bereits vorhanden. Grundsätzlich solltest Du keinden Debug-Build auf anderer Rechner installieren. Mach einen Release Build und die Softwrae wird laufen. Meistens sind die entsprechendne DLLs bereits installiert.



  • hopelesshb schrieb:

    Da steht "Microsoft Foundation Classes". Hier nun "In einer statischen Bibliothek verwenden" auswählen und dann "OK" klicken und dann neu übersetzen.

    Bei mir gibts in diesem Dropdown-Menü leider nur die Auswahlmöglichkeit "MFC in einer gemeinsam genutzten DLL verwenden" 😞

    Edit: Hab da was in der Hilfe gefunden:
    Funktion nur in Professional und Enterprise Editionen verfügbar Statisches Binden wird nur in den Professional und Enterprise Editionen von Visual C++ unterstützt.

    Daran wirds liegen.. 😞



  • Martin Richter schrieb:

    Mach einen Release Build und die Softwrae wird laufen. Meistens sind die entsprechendne DLLs bereits installiert.

    Bin da leider noch unerfahren. WIE mach ich das? 🙄



  • In einer der Menuleisten ist ne ComboBox, wo Debug drinne steht. Dort Release auswählen



  • Stell' erstmal die CRT von X-Debug-DLL auf X...


  • Mod

    Pellaeon schrieb:

    In einer der Menuleisten ist ne ComboBox, wo Debug drinne steht. Dort Release auswählen

    Dann hast Du auch wirklich die EXE aus dem Release Verzeichnis genommen?
    Wenn ja, dann sind Deine Projekteinstellungen evtl. falsch. Schau Dir dann mal die Einstellungen für Runtime und MFC an!



  • Wollte einfach nicht klappen mit meiner Version. Jetzt hab ichs halt in der Minimalversion auf dem Rechner installiert, dann funktionierts auch....zwar nicht die feine Lösung, aber immerhin kann ich weitermachen.


  • Mod

    Was sagt denn DEPENDS zu Deiner EXE?


Anmelden zum Antworten