Kommandozeilenprogramm standalone betreiben
-
Hallo zusammen,
ich habe folgendes Problem: Wenn ich ein Kommandozeilenprogramm mit Visual Studio 2005 Express kompiliere, so läuft die exe-Datei in der Kommandozeile auf dem Rechner, auf dem ich es kompilieret habe und auch auf allen anderen Rechneren, auf denen VC2005 installiert ist. Wenn ich das Programm jedoch in der Kommandozeile eines Rechners ohne installiertes VC2005 starten will, so bekomme ich nur die Fehlermeldung "Das angegebene Programm kann nicht ausgeführt werden." Muss ich beim Erstellen der exe irgendetwas einstellen, damit das Programm überall läuft oder woran kann es sonst liegen?
Vielen Dank im Voraus
Gruss Lodo
-
Ja, du solltest die MFC (wenn du sie überhaupt brauchst) statisch linken - andernfalls müsstest du immer die ganzen MFC-DLLs mitgeben, wenn jemand anderes dein Programm verwenden will.
-
Wenn keine fehlende Datei angezeigt wird, liegts oft auch an einem ocx was nicht registriert ist.
-
Hallo,
wo sollte denn die fehlende Datei angezeigt werden und woran erkenne ich, dass ein ocx nicht registriert ist?
Wo kann ich denn einstellen, dass die MFC statisch gelinkt wird?
Gruss lodo
-
Die Einstellung zum statischen linken findest du in den Projektoptionen bei Konfigurationseigenschaften/Projektstandards. Versuch erst mal das

Edit: fehlende Dll's werden eigentlich direkt im 'Fehlerfenster' angezeigt.
-
In den Project Settings.
-
Ja, du solltest die MFC (wenn du sie überhaupt brauchst) statisch linken - andernfalls müsstest du immer die ganzen MFC-DLLs mitgeben, wenn jemand anderes dein Programm verwenden will.
Ich glaube die Express Edition enthält gar keine MFC.
Stell einfach von Debug auf Release um. Das sollte reichen (Das Dropdown feld neben dem Playbutton zum Debuggen).
-
Es reicht mit VC2005 nicht auf Release umzustellen, da standardmässig die DLL Runtime verwendet wird. Und die 2005er Runtime ist AFAIK derzeit auf keinem Windows vorinstalliert, nichtmal Vista.