Eingabeaufforderung ausblenden / Dazugehörige Dateien...



  • Wie kann man es eigentlich hinkriegen, dass das Command-Eingabeaufforderung-Fenster verschwindet? Ich arbeite mit SDL und habe im Vordergrund ein Grafikfenster. Doch wenn ich es ausführe (egal ob vom Compiler aus oder direkt von der EXE-Datei), ist immer noch das Command-Fenster hinter dem Grafikfenster. Jetzt wäre es noch praktisch, dieses irgendwie abzuschalten. Ausserdem wäre es gut, wenn man das Erstellen der stdout.txt und stderr.txt deaktivieren könnte (manchmal verschwinden sie nach dem Ausführen nicht).

    Ein weiteres Problem sind die benötigten Dateien für ein Programm. Wenn ich z.B. ein JPEG-Bild anzeigen will, brauch ich dazu mindestens fünf Dateien (1 Anwendung, ein Bild, 3 DLLs). Gibt es vielleicht eine Möglichkeit, wie man (zumindest die DLLs) irgendwie zusammenfassen oder direkt in die Anwendung einbauen kann? Oder wie ist das zu handhaben?



  • Nexus schrieb:

    Wie kann man es eigentlich hinkriegen, dass das Command-Eingabeaufforderung-Fenster verschwindet? Ich arbeite mit SDL und habe im Vordergrund ein Grafikfenster. Doch wenn ich es ausführe (egal ob vom Compiler aus oder direkt von der EXE-Datei), ist immer noch das Command-Fenster hinter dem Grafikfenster. Jetzt wäre es noch praktisch, dieses irgendwie abzuschalten. Ausserdem wäre es gut, wenn man das Erstellen der stdout.txt und stderr.txt deaktivieren könnte (manchmal verschwinden sie nach dem Ausführen nicht).

    stdout.txt und stderr.txt werden nicht automatisch erzeugt. Da scheint ein Programm mitzulaufen, dass die erstellt. Ob die Console angezeigt wird, oder nicht, hängt von Compilerschaltern ab, die compilerabhängig sind.

    Nexus schrieb:

    Ein weiteres Problem sind die benötigten Dateien für ein Programm. Wenn ich z.B. ein JPEG-Bild anzeigen will, brauch ich dazu mindestens fünf Dateien (1 Anwendung, ein Bild, 3 DLLs). Gibt es vielleicht eine Möglichkeit, wie man (zumindest die DLLs) irgendwie zusammenfassen oder direkt in die Anwendung einbauen kann? Oder wie ist das zu handhaben?

    Bei der SDL ist es so, dass du Dynamisch linken musst, oder deine Anwengung unter der GPL freigeben musst. Wenn du deine Anwendung unter der GPL/LGPL veröffentlich, kannst du auch statisch linken.



  • ProgChild schrieb:

    stdout.txt und stderr.txt werden nicht automatisch erzeugt. Da scheint ein Programm mitzulaufen, dass die erstellt. Ob die Console angezeigt wird, oder nicht, hängt von Compilerschaltern ab, die compilerabhängig sind.

    Dazu noch: Es ist die Datei fstream inkludiert, die für das Schreiben und Lesen von Textdateien zuständig ist. Das wird auch der Grund sein (hab ich vorher vergessen zu erwähnen). Doch sonst ist nur noch SDL.h inkludiert...
    Die Präprozessorzeilen lauten also:

    #include <SDL.h>
    #include <fstream>
    

    ProgChild schrieb:

    Bei der SDL ist es so, dass du Dynamisch linken musst, oder deine Anwengung unter der GPL freigeben musst. Wenn du deine Anwendung unter der GPL/LGPL veröffentlich, kannst du auch statisch linken.

    Klingt gut, doch wie macht man das? 😉 Sorry, ich bin eben kein Pro 🙂



  • Nexus schrieb:

    Dazu noch: Es ist die Datei fstream inkludiert, die für das Schreiben und Lesen von Textdateien zuständig ist. Das wird auch der Grund sein (hab ich vorher vergessen zu erwähnen).

    Nein eigentlich nicht, es sei denn du öffnest in deinem Programm die Dateien und schreibst da rein.

    Nexus schrieb:

    Klingt gut, doch wie macht man das? 😉 Sorry, ich bin eben kein Pro 🙂

    Du lädst die die Sourcen der libSDL runter und compilierst daraus eine statische Bibliothek, die du in ein Programm mit einbindest.



  • Sorry, das hilft mir auch nicht sehr viel weiter... Ich denke, die Sources sind schon diese hier: http://www.libsdl.org/download-1.2.php und dann unter Source Code...
    Aber wenn ich es heruntergeladen habe, was muss ich genau machen? Im ZIP Archiv hat es Unmengen an Dateien, wie soll ich da genau vorgehen?



  • Da müsste irgendwo eine datei namens Makefile sein, die kann man ausführen, wenn man das entsprechende tool dafür hat, die kompiliert dann alles eintsprechend, aber das ist echt viel Aufwand, irgendwo müsste es die auch vorkompiliert geben, aber ich glaube nicht, dass du sie so los wirst. Ich weiß ja nicht wie du die DLL dateien gelinkt hast, und mit DLL unter Windows kenn ich mich sowiso nicht so aus, aber wenn du sie in den Ordner Windows system32 packst, werden sie dort gefunden (Das ist der standard-DLL-Dateien Ordner)? Dann hast du sie nicht mehr in deinem Ordner.

    Die Konsole müsstest du wegbekommen, indem du deine main in WinMain umbenennst, nur weiß ich nicht, ob sich dann noch alles problemlos kompilieren lässt.



  • SDL bringt die verschiedensten Workspaces für diverse Compiler bzw. IDEs mit. Diese findest du ebenfalls im Source Paket.


Log in to reply