Keine Konsole beim starten von GUI-Anwendungen (Wie?)



  • Hallo,
    wenn ich GUI-Anwendungen mit der FLTK-Bibliothek erstelle erhalte ich immer ein Terminalfenster beim starten des Kompilats.
    Wie deaktivierte/verstecke ich diese Konsole beim starten?

    Muss ich dafür irgend ein zusätzlichen Parameter angeben?
    Muss ich dafür (je nach System) eine zusätzlich Lib linken?
    Muss ich dafür irgendwie die main()-Funktion anpassen?

    Ich nutze den g++ Kompiler und das Ganze soll auf Windows, Linux, MacOS funktionieren.
    (Also ein "Win32"-Api Aufruf nützt mir lediglich unter Windows etwas.)



  • s. z.B. How to stop a program compiled with MinGW (g++) from opening a console window in windows, also -Wl,-subsystem,windows oder -mwindows als zusätzliche Linkeroption (zumindestens unter Windows).



  • Danke für deine Antwort.

    Unter MacOS geht es auf dieser magischen Art-und-Weise:

    fltk-config --post fertiges_programm

    Dann wird daraus ein Mac-App-Bundle erstellt und kein Terminalfenster ploppt mehr auf.

    Diese Vorgehensweise funktioniert aber unter Linux nicht.
    Wie geht das unter Linux?



  • Ich habe es herausgefunden.

    Unter Linux muss man eine "Programmname.desktop" - Datei mit mindestens folgenden Inhalt erstellen:

    Beispiel:

    Type=Application
    Name=meine_app
    Terminal=false
    Exec=./meine_app
    

    Diese muss man dann ausführbar machen und kann die Anwendung danach ohne nerviges Terminalfenster starten.


Anmelden zum Antworten