GUI für Windows und Linux?
-
Hallo,
ich programmiere schon recht lange PHP und seit einiger Zeit auch Java.
Ich wollte mich jetzt in C mal mit GUI versuchen, da habe ich jetzt auch einige gefunden, aber was diese genau machen, stand nirgends.
Wenn es möglich ist, gibt es ein GUI das immer die Elemente vom aktuellem Betriebsystem nimmt?
Also dass es egal unter welchem System immer so aussieht, wie die anderen Fenster auch?
Internetto
-
internetto schrieb:
Hallo,
ich programmiere schon recht lange PHP und seit einiger Zeit auch Java.
Ich wollte mich jetzt in C mal mit GUI versuchen, da habe ich jetzt auch einige gefunden, aber was diese genau machen, stand nirgends.
Wenn es möglich ist, gibt es ein GUI das immer die Elemente vom aktuellem Betriebsystem nimmt?
Also dass es egal unter welchem System immer so aussieht, wie die anderen Fenster auch?
Mit C ist das so ne Sache. Das einzige, in C geschriebene, GUI Framework welches vernünftig zu programmieren ist, ist das Gtk+. Es ist zwar C, verfolgt aber einen OO-Ansatz (und verwirklicht diesen sehr gut).
Wie auch immer, Gtk+ zeichnet seine Widgets selber, d.h. es sieht überall gleich aus.
Wenn du auch bereit wärst, C++ zu benutzen, dann hättest du mit wxWidgets ein Framework, welches deine Anforderungen erfüllt, denn wxWidgets wrappt nur die nativen Steuerelemente und sieht dementsprechend auch nativ aus.
Es gibt im Allgemeinen keinen Grund, an C kleben zu bleiben, C++ kann alles, was C kann und noch viel mehr. Abgesehen davon ist es für diese Art von Programmen deutlich besser geeignet.
MfG
GPC
-
Gut, das hatte ich auch schon in der Auswahl
Aber ich habe ein dickes Problem.
Ich habe mit einer exe, die ich hier im Forum glesen habe, mit dfem installer die fullinstallationgemacht.
Nur er zeigt mir noch die gleichen Meldungen wie vorherh, ohne , wenn ich dass helloWorld programm von xwwidgets nehme.
Muss ich wie bei dem g++ irgendwelche path sachen machen oder was anderes beachten?
Internetto
-
Könntest du bitte konkreter dein Problem schieldern.
-Welche fehlertexte bekommst du.
-...
-
also ich habe die Fullinstallation mit sonner exe,der link ist aus dem Forum, genau woher weiß ich aber nicht mehr.
Die Datei heißt: wxPack_v2.7.0.30.exe
Dann habe ich http://wxwidgets.org/docs/tutorials/hworld.txt kopiert und als cpp gespeichert, und dann mit g++ hworld.cpp `wx-config --libs` `wx-config --cxxflags` -o hworld versucht zu compilieren.
habe auch .exe drangehängt, das verzeichnis stimmt auch, und andere sachen kann ich auch compillieren.
WEnn ich das mache, dommt die Meldung: g++:
wx-config: No such file or directory g++:
wx-config: No such file or directory
cc1plus.exe: error: unrecognized command line option "-flibs" cc1plus.exe: error: unrecognized command line option "-fcxxflags
"
-
Ja die Befehlszeile sind nicht richtig aus.
Du muss das Include-Verzeichnis angeben.
-
Ähm, welches Include verzeichniss?
Wenn ich den pfad zu dem verzeichiss zu dem include ordner dazuschreibe in dem wxWidgets2.7 ordner, sagt er invalid argument.
-
Kennt keiner eine Lösung?
PS: Ich habe mal gelesen, dass man eine bestimmte version zum compillieren brauch???
Aber ich habe beim installer fullinstallation gewählt.
Und das war wenn ich es noch richtig weiß auch für Linux
-
internetto schrieb:
Ähm, welches Include verzeichniss?
Wenn ich den pfad zu dem verzeichiss zu dem include ordner dazuschreibe in dem wxWidgets2.7 ordner, sagt er invalid argument.
'wx-config' gibt mit den entsprechenden Optionen die Compiler- oder Linkerflags aus. So z.B für den Linker
$ wx-config --libs -pthread -L/usr/X11R6/lib -lwx_gtk2u_xrc-2.6 -lwx_gtk2u_qa-2.6 -lwx_gtk2u_html-2.6 -lwx_gtk2u_adv-2.6 -lwx_gtk2u_core-2.6 -lwx_baseu_xml-2.6 -lwx_baseu_net-2.6 -lwx_baseu-2.6
oder den Compiler
$ wx-config --cxxflags -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1
Man kann auch beide Optionen zusammen angeben.
wx-config --cxxflags --libs
D.h. mit wx-config musst du dich nicht mehr um die wxWidgets-spezifischen Bibliotheken und Headerfiles kümmern.
Bei dir sieht es so aus, als würde 'wx-config' nicht gefunden werden. Gib mal wie oben beschrieben 'wx-config' mit entsprechender Option in die Kommandozeile ein. Wenn das nicht gefunden wird, ist es entweder nicht installiert oder oder nicht im Pfad.
-
Bei dir sieht es so aus, als würde 'wx-config' nicht gefunden werden. Gib mal wie oben beschrieben 'wx-config' mit entsprechender Option in die Kommandozeile ein. Wenn das nicht gefunden wird, ist es entweder nicht installiert oder oder nicht im Pfad.
Aber in welchem Pfad muss ich denn diesem installer sagen?
Also in welchn Pfad muss ich es installieren (unter Windows)?
In einem unterverzeichniss von dem g++?
Wenn ja in welchem???
-
internetto schrieb:
Aber in welchem Pfad muss ich denn diesem installer sagen?
Also in welchn Pfad muss ich es installieren (unter Windows)?
In einem unterverzeichniss von dem g++?
Wenn ja in welchem???Hast du ausprobiert, ob es wirklich nicht gefunden wird. Das war nur eine Vermutung von mir.
Bei mir unter Linux ist 'wx-config' ein symbolischer Link in '/usr/bin/' der auf '/usr/lib/wx/config/gtk2-unicode-release-2.6' verweist. Wie das unter Windows ist, weiß ich nicht. Aber ich denke mir mal, dass du das installieren kannst, wohin du willst. Nur 'wx-config' (oder ein Link darauf) muss in $PATH liegen und sagen, wo du wxWidgets installiert hast, damit der Compiler und der Linker wissen, wo sie suchen müssen.Hmm, ich les gerade, dass es 'wx-config' eigentlich nur für Unix-Systeme gibt. So wie es aussieht, ist die Standardprozedur unter Windows etwas anders. Da kann ich dir jetzt nicht weiterhelfen. Vielleicht hilft dir das weiter.
wx-config
wx-config unter Windows
-
Und das hier schaust du dir am Besten auch mal an
Compiling a wxWidgets application
-
mit -I gibt man gcc den Includeverzeichnis an
und den -L das LibverzeichnisDa ist GCC unter Windows mit CodeBlocks oder Eclipse benutze weiss ich den Zeilenbefehl nicht auswendig.
-
Ich installiere Windows in der nächsten Zeit neu, danach installiere ich das alles neu, und dann guvke ich mal,ob es dann geht.
Dann mache ich esam besten auch ohne den instaler sondern mid dem selbst compillieren;)
-
Mein System ist schon neuinstalliert
und nun warte ich auf dem 5 Sept.
-
Zeus schrieb:
Mein System ist schon neuinstalliert
und nun warte ich auf dem 6 Sept.
Was ist denn dann?
-
hehe Turbo C++ und mehr ;o
http://www.turboexplorer.com/