wxWidget übersetzten mit MinGW

Zuerst einmal müssen wir ins richtige Verzeichnis wechseln, und zwar nach:

…\wxWidget\build\msw

Mit diesem Befehl räumen wir erstmal das Verzeichnis auf:

mingw32-make -f makefile.gcc clean

Und mit diesem Befehl übersetzen wir nun die wxWidget Bibliothek:
(Es wird 2 mal übersetzt, damit wir bei CodeBlocks den Debug und den Release Modus für die Projekte benutzten können)

mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1

Danach erscheinen die Librarys in Verzeichnis lib\gcc_lib und die Header im Verzeichniss include. Dies könnte man jetzt noch ins MinGW-Verzeichnis kopieren oder man lässt sie liegen und stellt die Include-Verzeichnisse entsprechend auf den Ordner ein. Unter CodeBlocks kann man dies entsprechend unter den Variablen machen.

Bei der Verwendung von CodeBlocks zum erstellen eines wxWidget-Projekts müssen die Hacken nur ensprechend so gesetzt werden wie man Sie beim MAKE-Befehl mit angegeben hat (siehe oben).

Links:  http://www.pronix.de/pronix-1138.html

——————————————————————

Nachtrag, da ich jedesmal wieder über die Namen im Build stossen und nicht weiß was sie bedeuten:

BUILD

Definiert ob eine Debug-Version oder eine Release-Version erstellt wird.

  • Eine Debug-Version erstellt die Libs mit einen „d“-Suffix — als Beispiel: „libwxmsw28d.a“/“wxmsw28d_gcc_custom.dll“
  • Eine Debug-Version erstellt die Ordner mswd bzw. mswud im wxWidget Library-Ordner
  • Eine Release-Version erstellt die Libs ohne den „d“-Suffix — als Beispiel: „libwxmsw28.a“/“wxmsw28_gcc_custom.dll“
  • Eine Release-Version erstellt die Ordner msw bzw. mswu im wxWidget Library-Ordner

SHARED

Definiert ob eine DLL (SHARED=1) oder eine Statische (SHARED=0) Version von wxWidget erstellt wird.

  • Eine DLL-Version von wxWidget erstllelt zu importierende Libs (wie libwxmsw28.a) und DLLs (so wie wxmsw28_gcc_custom.dll). Hier musst du die DLL mit deinem Programm verteilen.
  • Eine statische-Version von wxWidget erstellt nur statische Libs (so wie libwxmsw28.a), und es muss keine weitere DLL mit verteilt werden.

MONOLITHIC

MONOLITHIC steuert ob nur eine lib für alle Komponenten erstellt wird oder einzelne.

  • Ein Monolithic-Build erstellt eine einzelne zu importierente Library (so wie libwxmsw28.a) und eine einzelne DLL (so wie wxmsw28_gcc_custom.dll)
  • Ein Multilib-Build erstellt mehrere zu importierende Library (libwxexpat.a, libwxjpeg.a, etc.) Diese werden aber normalerweise für einen DLL-Build nicht benötigt, aber für einen Statischen-Build.

UNICODE

UNICODE gibt an ob die Library mit Unicode-Zeichen oder mit ANSI-Zeichen übersetzt wird.

  • UNICODE=1 erstellt die Libs mit einen „u“-Suffix — Beispiel: „libwxmsw28u.a“/“wxmsw28u_gcc_custom.dll“
  • UNICODE=0 erstellt die Libs ohne den „u“-Suffix — Beispiel: „libwxmsw28.a“/“wxmsw28_gcc_custom.dll“
Dieser Beitrag wurde unter CPP veröffentlicht. Setze ein Lesezeichen auf den Permalink.