wxWidget .dll frage
-
Hi, habe heute mit WXWidget angefangen und ein kleines GUI zusammengeklatscht.
Ging auch super zum starten von der IDE aus (CODE:BLOCKS) , sobald ich die .exe aber aus dem ordner öffnen wollte verlange windows die "wxmsw28u_gcc_custom.dll"diese hab ich dann auch gesucht und in den ordner zur exe geschoben. Und dann ging das Programm auch.
Meine Frage nun: wenn ich das programm auf anderen PCs starten will wie krieg ich das hin ohne jedesmal die wxmsw28u_gcc_custom.dll mitzuliefern?
Sodass wirklich nur die .exe in dem ordner ist und auch auf anderen PCs problemlos funktioniert ohne der dll.
Gebe ich beim erstellen des Projekts an ,dass ich keine .dll verwenden will kann ich garnicht mehr compilen kommen lauter errors :o.
erstellt habe ich wxWidget mit
mingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0
-
Einfach mal wxWidgets mit SHARED=0 kompilieren und dann beim C::B-Projekt das Häkechen bei "Use wxWidgets-DLL" entfernen.
Die EXE ist aber unter Windows mit GCC mindestens 2,2 MB groß.PS: Wenn du mit UNICODE=0 kompiliert hast, was willst du dann mit der Unicode-DLL?
-
Interessante Stichwörter sollte sein: Statisches Binden und Dynamisches Binden. "Binden" wäre hier im englischen "to link", weswegen es neben dem Compiler auch einen Linker gibt. Beim "Linken" werden die Funktionsaufrufe mit dem Code verküpft der aufgerufen werden muss. Dynamisch heisst das dies erst beim User passiert, Statisch heisst das dies schon beim compilen passiert. Im dynamischen Fall benötigst du eben *.dlls (dynamic linked library) oder *.so (shared object).
Ganz banal und bildlich gesprochen könnte man sagen:
Statisch gelinkt:
Du fährst Zelten, und packst alles ein was du brauchst, dein Zelt, deine Freundin, und n Haufen Fressalien.Dynamisch:
Du fährst Zelten, hast nix dabei und gehst aber davon aus das es dort nen Outdoor-Shop, nen Puff und n Edeka gibt.Edit:
Ich seh gerade das du dich schon 2006 angemeldet hast und schon ne Menge Beiträge gestartet hast. Ich hoffe ich bin dir nicht zu nahe getreten mit der recht untechnischen und saloppen Erklärung, aber ich hatte doch den Eindruck das du da noch grundsächlichen Nachholbedarf hast.Mfg
Grey