DLL-Dateien direkt in Exe packen
-
Hallo,
ich hoffe, ich bin hier richtig. Ich kenn mich hier noch nicht ganz so gut im Forum aus, da ich neu bin

Also mein Problem ist folgendes:
Ich benutze CodeBlocks zum Erstellen meiner C++-Programme und verwende als Compiler gcc.
Ok,soweit so gut, Programme werden ohne Probleme compiliert und korrekt ausgeführt. Mein Problem jedoch: Wenn ich das Programm dann in meinem Projektordner starte (also nicht von CodeBlocks aus), dann fehlt die DLL wxmsw28_gcc_custom.dll . (Ich benute wxWidgets 2.8.10 für meine GUI)
Ok, also kopiere ich die entsprechende DLL in denselben Ordner, in dem sich auch mein Programm befindet -> Es funktioniert.Aber ich würde nur ungern schon bei einem so kleinem Programm direkt eine DLL immer "mitliefern" müssen, wenn ich das Programm beispielsweise an Freunde verschicke.
Ist es also möglich, dass ich irgendwo einstellen kann, dass DLL-Dateien immer direkt in die .exe eingebunden werden?
Danke schonmal im Vor-raus (wieso wird das Wort ohne Bindestrich zensiert?). Ich hoffe, ich habe alle relevanten Informationen genannt.
- P7BB
-
Nennt sich static linken.
-
P7BB schrieb:
Danke schonmal im Vor-raus (wieso wird das Wort ohne Bindestrich zensiert?).
Vorraus. Geht doch. :p
-
Danke für die Antwort.
Wo kann ich das denn Einstellen? Hab gerade mal "Path for dynamic Linker" in den von "Path for static linker" geändert, aber das hat nichts gebracht...
-
P7BB schrieb:
Danke schonmal im Vor-raus (wieso wird das Wort ohne Bindestrich zensiert?).
Weiß nicht, vielleicht, weil man es nur mit einem "r" schreibt? :p
-
P7BB schrieb:
... dann fehlt die DLL wxmsw28_gcc_custom.dll . (Ich benute wxWidgets 2.8.10 für meine GUI)
... Ok, also kopiere ich die entsprechende DLL in denselben Ordner, in dem sich auch mein Programm befindet -> Es funktioniert.
...Aber ich würde nur ungern schon bei einem so kleinem Programm direkt eine DLL immer "mitliefern" müssen, wenn ich das Programm beispielsweise an Freunde verschicke.Es handelt sich da um eine spezielle DLL des benutzten Compilers gcc, die zum Ausführen des Programmes gebraucht wird. Du kommst nicht drumherum, diese mitzuliefern.
Der einzige - aufwendige Weg - bestünde darin, die Funktionen der DLL in eine LIB zu übertragen und diese statisch einzubinden. Funktionieren bleibt ungewiss.Vorschlag: Nehme ein freies Setup-Programm (z.B. Inno), dann brauchst du an Freunde nur eine Datei (mit der DLL!) zu schicken.
-
Naja ok, danke... Aber ich denke, da nehm ich direkt einfach einen Zip-Ordner, statt ein Setup-Programm

-
Kompilier doch wxWidgets einfach statisch.

Wo liegt das Problem? Hast du wxPack runtergeladen, sind die statischen Libs schon dabei, du musst dein Programm nur noch anders kompilieren.
Ich hab aber auch schon mal was von Dll to Lib oder solchen Convertern gehört.
-
Ja, aber wo kann ich das einstellen, dass CodeBlocks automatisch statisch compiliert?
-
Beim erstellen eines neuen Projekts den Haken bei "Use wxWidgets DLL" rausnehmen.