Autor Beitrag
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mo 14.06.10 17:20 
Hi!

Ich wollte mir mal ansehen, was bei C++ in Sachen GUI läuft. Nachdem ich mir wxWidgets angesehen habe, fand ich doch, dass mir gtkmm besser gefällt. Die von mir bevorzugte IDE Anjuta bietet dafür ja Glade-Support. Das war mir aber zu langweilig, ich will wirklich mal GUIs von Hand programmieren. Ich hab jetzt also (Ubuntu Karmic Koala) folgendes ins Terminal eingegeben (so oder so ähnlich):

ausblenden Quelltext
1:
sudo apt-get install libgtkmm-2.4-dev					


Ging auch soweit. Nun habe ich bei Anjuta ein neues Projekt "Generisches C++" erstellt und bei der main.cc folgenden Source eingegeben:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
#include <gtkmm-2.4/gtkmm.h>

int main(int argc, char *argv[])
{
  Gtk::Main kit(argc, argv);
  Gtk::Window window;

  Gtk::Main::run(window);

  return 0;
}


Erst hatte ich nur wie beim Beispiel "#include <gtkmm.h>" dastehen. Da gab es aber tausende Fehler. Also hab ich mich mit dem Terminal durch das Verzeichnis /usr/include gehangelt und herausgefunden, dass der Ordner /usr/include/gtkmm-2.4/ heißt. Dann hab ich das wie oben angepasst und bei Anjuta Projekt->Eigenschaften das Modul "gtkmm-2.4" hinzugefügt. Die gtkmm.h findet er jetzt, aber jetzt gibt es 161 weitere Fehler. Ich weiß nicht, wie ich die kopiere, aber die ersten sind welche der Art:

ausblenden Quelltext
1:
2:
3:
4:
5:
/usr/include/gtkmm-2.4/gtkmm.h:29:20: error: glibmm.h: No such file or directory
/usr/include/gtkmm-2.4/gtkmm.h:30:19: error: giomm.h: No such file or directory
/usr/include/gtkmm-2.4/gtkmm.h:31:19: error: gdkmm.h: No such file or directory
/usr/include/gtkmm-2.4/gtkmm.h:33:26: error: gtkmm/object.h: No such file or directory
/usr/include/gtkmm-2.4/gtkmm.h:34:31: error: gtkmm/aboutdialog.h: No such file or directory


Und die sind ja alle in den gtkmm-Sourcen, die ja schreibgeschützt sind (natürlich kann ich den Schreibschutz einfach aufheben und die Pfade in den Code setzen, aber so richtig sauber wäre das nicht).

Es muss doch eine vernünftige Lösung geben, das richtig zu konfigurieren. Bei der IDE Code::Blocks ist das ähnlich verzwickt. Und so richtig habe ich keine Lust, mit g++ von Hand zu compilieren, falls das heute noch jemand macht.

Jemand ne Idee? Irgendwas ist da ja wahrscheinlich bei der Konfiguration schief gelaufen...

---
Nachtrag: Wenn ich einfach eine GTK-Anwendung mit Glade-Designer compiliere, klappt alles. Komischerweise.
Nachtrag2: Und wenn ich's von Hand kompiliere, geht's auch (mit GEdit und g++ über das Terminal).
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mi 23.06.10 11:24 
Wie wäre es, statt einem "Generisches C++"-Projekt ein "GTKmm"-Projekt zu erstellen?

Edit: Vielleicht noch etwas mehr Text: Das Problem liegt an dem Linken (frag mich nicht, wie man das manuell machen kann). Deshalb linkt Anjuta wie alle IDE bei einem klassischen C++ Projekt nicht, weil es ja extra ohne zusätzliche Fähigkeiten erstellt werden soll.
Jakob_Ullmann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mi 23.06.10 19:44 
OK, ich habe jetzt herausgefunden, wie ich Anjuta dazu bewegen kann (abgesehen von dem gtkmm-Projekt, wo ja auch jede Menge Müll erzeugt wird):

- Datei -> Neu -> Projekt -> C++ -> Generisches C++
- Externe Pakete konfigurieren: ja.
- in das erste Edit-Feld "gtkmm-2.4" eintragen

Dann klappt das auch ganz normal.

Trotzdem danke!

Für diesen Beitrag haben gedankt: Regan