none
Anfängerfrage: Konsolenanwendung für Windows98 mit VS 2008 erstellen RRS feed

  • Frage

  • Hallo,
    ich möchte eine selbständig lauffähige Konsolenanwendung für Windows 98 erstellen. Hier mein Quelltext, der mit VS2008 (starten ohne Debugging) läuft:

    #include

    <iostream>
    using namespace std;
    int main()
    {
    int i1;
    int i2 = 10;
    cout <<
    "Geben Sie eine Zahl ein: " <<endl;
    cin >> i1;
    if (i1 < 10) {cout << "Die eingegebene Zahl ist kleiner als " << i2 <<"." << endl;}
    else {cout << "Die eingegebene Zahl ist groesser oder gleich " <<i2 <<"." << endl; }
    return(0);
    }


    Meine Fragen:
    1. Was muss ich tun, damit das damit erstellte exe-File nicht sofort die Konsole schließt? 
    2. Was muss ich tun, damit das damit erstellte exe-File die Bedingung in 1. erfüllt und auch außerhalb von VS 2008 läuft?
    3. Was muss ich tun, damit das damit erstellte exe-File die Bedingungen in 1. und 2. erfüllt und unter Windows 98 läuft?
    Dienstag, 26. Mai 2009 21:00

Antworten

Alle Antworten

  • Juhu, endlich mal ne Frage ohne das Martin schon geantwortet hat, ich würd ja mal tippen das er noch schläft :)

    1. http://viming.de/c++/faq:cmd
    2. als Release version erstellen und die msvcrt9 runtime mitliefern (gibt es als setup zu laden, oder aber du beschäftigst dich mit dem manifest Anpassen)
    3. Für Win98 musst du in den Projekt settings ausstellen das eine Unicode Variante erstellt wird, da Unicode in Win98 noch nicht unterstützt wird.
    Mittwoch, 27. Mai 2009 05:56
  • - Stelle das System auf Static Linking für die CRT um. Dann musst Du keine Runtime installalieren.
    http://blog.kalmbach-software.de/de/2008/03/05/wie-man-statisch-gegen-die-c-runtime-crt-linkt/

    - Man kann mit VS-2008 keine Programme mehr für Win98 erzeugen.
    IMHO war VC-2005 das letzte VS, dass Windows 98 unterstützte,
    Supported Platforms (Visual C++)  VS-2005 http://msdn.microsoft.com/en-us/library/ms235435(VS.80).aspx
    Supported Platforms (Visual C++)  VS-2008 http://msdn.microsoft.com/en-us/library/ms235435.aspx

    Aber wer will wirklich noch Windows 98 ;)


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 27. Mai 2009 06:30
    Moderator
  • Juhu, endlich mal ne Frage ohne das Martin schon geantwortet hat, ich würd ja mal tippen das er noch schläft :)

    OK - den Thread drucke ich mir jetzt mal aus und hänge Ihn an die Wand ;-)
    :) Kay

    http://www.giza-blog.de/
    Mittwoch, 27. Mai 2009 14:59
  • Hm,
    so richtig ist mir hier nicht geholfen worden. Damit andere Interessenten nicht dumm sterben, hier ein Code-Vorschlag, um das Konsolenfenster auf Tastendruck zu schließen:
    #include <iostream>
    using namespace std;
    
    int main()
    {
       char quit;
       int i1;
       int i2 = 10;
       quit = 'a';
       
       while( quit != 'q' )
       {
       cout << "Geben Sie eine Zahl ein: " <<endl;
       cin >> i1;   
    if (i1 < 10) { cout << "Die eingegebene Zahl ist kleiner als " << i2 <<"." << endl; } else { cout << "Die eingegebene Zahl ist groesser oder gleich " <<i2 <<"." << endl; } cout << "Zum Beenden druecken Sie auf q" << endl; cin >> quit; } return(0); }
    Die Vorschläge auf http://viming.de/c++/faq:cmd haben mich nicht dahin gebracht.
    Das Video-Tutorial war hilfreich, obwohl die Abspielgeschwindigkeit invariant ist.

    Unter denen, die wirklich noch Windows 98 wollen, bin ich. 2002 habe ich in Delphi eine Anwendung für Windows geschrieben, die (sofern IE 5 installiert ist), auf Windows 95/98/ME/2000/XP/Vista/7 läuft (wegen der alten Hilfe braucht Vista eine Zusatzdatei). Jetzt habe ich überlegt, auf Visual C++ umzusteigen, aber die ersten Erfahrungen sind nicht besonders ermutigend.
    Mittwoch, 27. Mai 2009 19:25
  • Hm, also wenn dir http://viming.de/c++/faq:cmd nicht geholfen hat, warum hast du es dann so umgesetzt wie drinn beschrieben? Ich würd ja eher noch vermuten das du es nur nicht richtig gelesen hast :)

    Aber gut das Martin noch geantwortet hat. Das man nicht mehr für Win98 mit Vc2008 erstellen kann, war mir auch neu.
    Donnerstag, 28. Mai 2009 05:59
  • so richtig ist mir hier nicht geholfen worden. Damit andere Interessenten nicht dumm sterben, hier ein Code-Vorschlag, um das Konsolenfenster auf Tastendruck zu schließen:
    <snip>
    Die Vorschläge auf http://viming.de/c++/faq:cmd haben mich nicht dahin gebracht.
    Das Video-Tutorial war hilfreich, obwohl die Abspielgeschwindigkeit invariant ist.

    Unter denen, die wirklich noch Windows 98 wollen, bin ich. 2002 habe ich in Delphi eine Anwendung für Windows geschrieben, die (sofern IE 5 installiert ist), auf Windows 95/98/ME/2000/XP/Vista/7 läuft (wegen der alten Hilfe braucht Vista eine Zusatzdatei). Jetzt habe ich überlegt, auf Visual C++ umzusteigen, aber die ersten Erfahrungen sind nicht besonders ermutigend.
    Wie Torsten verstehe ich Deinen Kommentar nicht bzgl. Schließen der Console. Genau das steht doch da drin... Allerdings ist das eben auch so gewollt: eine Console schließt sich eben, wenn sie aus der GUI gestartet wird

    Hinweis dazu: Das ist nichgt der Fall wenn Du es mit F5 startest, oder mit Strg+F5!

    Für die Abspielgeschwindigkeit des Videos kann ich nichts ;)

    Bzgl. Windows 98. Du willst es? Warum? Aus Entwicklersicht bin ich froh, dass es dieses OS "nicht mehr gibt" und ich würde mich mit den Inkompatibilitäten dieses OS nicht mehr herumschlagen.
    Wenn Du es unbedingt willst. Besorge Dir VS-2005! Wenn Du ein MSDN Abo hast, kannst Du es Dir dort besorgen.

    Bzgl. "aber die ersten Erfahrungen sind nicht besonders ermutigend.":
    C/C++ ist komplex! Und VS als Werkzeug auch. Es ist keine Entwicklungsumgebung mit der man sich mal kurz was "zusammenklickt".
    Wähle das richtige Werkzeug für Dein Problem, kann ich hier nur sagen. Ich mache auch nicht alles mit C/C++. Aber es ist für den Bereich in dem ich arbeite immer noch das Werkzeug der ersten Wahl!

    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 28. Mai 2009 06:50
    Moderator