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 -lSDLWie 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!