EXE-Dateien allein ausführen



  • Ich bin eher ein Noob im Proggen, und hab noch nicht sehr lange mit Grafikprogrammierung angefangen. Ich probiers jetzt mal mit SDL, doch dabei hab ich ein Problem:

    Wenn ich ein Programm kompiliere und vom Compiler (ich benutze Bloodshed-DEV-C++) aus ausführe, geht alles normal. Doch wenn ich die davon erstellte EXE-Datei allein ausführen will, kommt immer folgende Fehlermeldung:

    Die Anwendung konnte nicht gestartet werden, weil SDL.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben.

    Ich denke es liegt an den Linker-Befehlszeilen... Meinem Compiler hab ich diese Befehlszeile hinzugefügt:
    -lmingw32 -lSDLmain -lSDL

    Wie kann ich es machen, dass die EXE-Datei allein ausführbar ist? Also natürlich schon mit den Dateien (Bilder in meinem Fall), die dazu gehören, aber ohne den Quelltext? Also nur die kompilierte Version?



  • Indem du diese Bibliotheken statisch linkst. Aber kerner32.dll, user32.dll usw. wirst du vermutlich immer braichen. f'`8k

    Gruß, TGGC (\-/ returns)



  • Wie funktioniert ein statisches Linken?
    Und die Dateien kernel32.dll und user32.dll befinden sich ja unter anderem im Ordner C:\WINDOWS\system32. Muss man sie noch zusätzlich linken?



  • Nexus schrieb:

    Wie funktioniert ein statisches Linken?

    Kurz gesagt wird der Code aus der Lib dann in die exe reinkopiert.

    Nexus schrieb:

    Und die Dateien kernel32.dll und user32.dll befinden sich ja unter anderem im Ordner C:\WINDOWS\system32. Muss man sie noch zusätzlich linken?

    Nein, eben nicht. Die hast du quasi automatisch drin und zack ist deine exe nicht mehr "allein" ausführbar. f'`8k

    Gruß, TGGC (\-/ returns)



  • Du könntest die SDL.dll in das Verzeichnis der ausführbaren Exe kopieren, oder in das Verzeichnis C:\Windows\System32

    Gruß



  • Okay, vielen Dank für eure Hilfe!


Anmelden zum Antworten