wxwidgets Programm (geschrieben mit wxDevC++) auf linux kompilieren
-
Hallo,
Ich habe ein Programm mit wxwidgets geschrieben und dafür wxDev-C++ benutzt. Kann mir jemand sagen wie ich das auf einem Linux System (Ubuntu) kompiliere?
Ich habe jetzt schon tagelang das Internet durchforstet und keine befriedigende Antwort gefunden. Gibt es da einen einfachen Weg? Hat schon jemand Erfahrung damit?
Ich meine jetzt nutze ich eine crossplatform GUI und irgendwie kann mir keiner sagen wie ich die Programme auf verschiedene Systeme portiere.
wxwidgets habe ich bereits auf Ubuntu installiert.
Ich hoffe hier kann mir jemand helfen
MFG Mav
-
Ich denke mal, KDevelop (bzw. irgend eine andere Linux IDE) auf für wxWidgets einrichten (Linkereinstellungen usw.), und kompilieren. Rauskommen müsste eine *.bin, die ganz normal auf Linux Systemen lauffähig ist.
-
Möglichkeiten:
1. Crosscompilation unter Windows mit GCC und Cygwin. Aber dein Problem ist wohl, das du speziell was zu wxWidgets im Netz suchst. Du mußt aber allgemein nach Cross Compilation suchen. Dann wirst du sicherlich was finden.
2. Virtual PC von MS installieren, da drauf Ubuntu installieren, und dann dein Projekt unter Ubuntu kompilieren.
3. Ubuntu installieren und da drunter kompilieren.
Ansonst wüsste ich nicht, was du für Probleme hast...
-
Und du solltest beachten, das Windows Resourcen Dateien (*.rc) nicht Plattformunabhängig sind, und unter Linux nicht funktionieren.
Für Bitmaps und Icons empfiehlt sich daher auch das xpm Bildformat. Welches sich einfach includieren lässt in den Code.
-
CXX = `/usr/bin/wx-config --cxx` CCFLAGS = -O -Wall -ansi `/usr/bin/wx-config --cppflags --debug=yes` MY_LIBS = `/usr/bin/wx-config --libs --debug=yes` all: psApp.o psFrame.o blowfish.o TreeCtrl.o Tdata.o keyValueDlg.o $(CXX) -o $@ $^ $(CCFLAGS) $(MY_LIBS) psApp.o: psApp.cpp psApp.h psFrame.o Makefile $(CXX) -c $(CCFLAGS) $< ...
Wie wär's mit
wx-config --help
und
man gcc
wx-config macht doch alles für dich. Wichtig sind die Backticks um die wx-config Befehle. Die Shell setzt dann das Ergebnis der Ausgabe in die Kommandozeile ein.