Was jetzt nach C und C++?
-
Erhard Henkes schrieb:
[...]Das einzig Schwierige ist die korrekte Installation von gtkmm (zumindest unter MS Windows).
Hi,
Ich hab Win ME, und bei mir hat das Installieren gemäß folgender Anleitung super geklappt:
http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ape.html.
Daher sollte die Installation unter Win kein größeres Problem sein.
-
Bei W2K gibt es danach Probleme, die nicht beschrieben sind.
-
Erhard Henkes schrieb:
Bei W2K gibt es danach Probleme, die nicht beschrieben sind.
ich habs gerade mit WinXP versucht und Dev-Cpp kompilierte problemlos
-
http://www.winfx247.com/247reference/msgs/0/1669.aspx
WinAPI wird auch unter "Windows Longhorn" noch zugänglich sein und arbeiten!
-
geeki schrieb:
http://www.winfx247.com/247reference/msgs/0/1669.aspx
WinAPI wird auch unter "Windows Longhorn" noch zugänglich sein und arbeiten!
Das hat ja niemand bestritten...
-
Erhard Henkes schrieb:
Ich werde mir die Beispiele dieses Tutorials mal genauer ansehen: http://www.gtkmm.org/gtkmm2/docs/tutorial/html/
Vielleicht ist die Kette "Grundlagen C++ -> OOP mit C++ -> STL -> WinAPI -> gtkmm", das was ich suche. Immerhin alles mit freeware (Dev-C++) und außer WinAPI auch mit Linux realisierbar. Das einzig Schwierige ist die korrekte Installation von gtkmm (zumindest unter MS Windows).
uebrigens schaust du dir das Tutorial fuer GTKmm 2.0 an, es gibt aber Aenderungen von 2.0 auf 2.4 ( = aktuelle Version), vielleicht hast du deswegen Probleme unter Win2k. Das Interface von SigC wurde z. B. geaendert.
Aktuelles Tutorial: http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/index.html
-
Bei diesem Versionen-Wirrwarr verliert man schnell den Faden.
Thx.
Im übrigen läuft gtkmm natürlich bei mir, aber nur nachdem ich eine Menge händisch einstellen musste, was ein Anfänger nicht locker schafft. Ich kann inzwischen sagen, dass gtkmm sauber aufgesetzt ist. An die Klassenhierarchie muss man sich allerdings erst gewöhnen, da gefällt mir MFC besser.
-
Erhard Henkes schrieb:
An die Klassenhierarchie muss man sich allerdings erst gewöhnen, da gefällt mir MFC besser.
Warum nutzt du dann nicht wxWindows? Das ist MFC um einiges aehlicher!
-
kingrudi: Warum postest du denn Code der nicht funktioniert?
Willst du uns verwirren?
-
madman schrieb:
kingrudi: Warum postest du denn Code der nicht funktioniert?
Willst du uns verwirren?
ne, war eben nur schnell runter getippt und nicht getestet. Erhard hat es ja korrigiert.
-
Bei mir läuft der von Erhard Henkes auch nicht:
Compiling source file(s)... hello.cpp hello.cpp: In function `bool quit_callback()': hello.cpp:8: warning: control reaches end of non-void function hello.cpp: In function `int main(int, char**)': hello.cpp:13: error: no matching function for call to `Gtk::QuitSig::connect( bool (&)())' C:\gtkmm\include\gtkmm-2.4\gtkmm\main.h:66: error: candidates are: sigc::connection Gtk::QuitSig::connect(const sigc::slot<bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>&, unsigned int) hello.exe - 2 error(s), 1 warning(s)
Ok, den ersten Fehler konnte ich beseitigen in dem quit_callback den Rückgabetyp void kriegt.
Ich wundere mich wie Erhard diesen Code kompilieren konnte - allein schon wegen diesem Fehler.
-
Wenn ich dann den connect-Aufruf herausnehme kann ich es dann auch compilieren. Aber ich sehe keine Label mit "Das ist ein Fenster"
-
//g++ -Wall -W `pkg-config gtkmm-2.4 --cflags --libs` demo.cpp #include <gtkmm.h> #include <sigc++/sigc++.h> bool quit_callback() { Gtk::MessageDialog dialog("Ende"); dialog.run(); return false; } int main(int argc,char **argv) { Gtk::Main kit(argc,argv); kit.signal_quit().connect(&quit_callback); Gtk::Window window; Gtk::Label label("Das ist ein Fenster"); window.add(label); label.show(); kit.run(window); return 1; }
HTH
-
Danke kingruedi. Das half.
Jetzt versteh ich auch wo die Fehler lagen...