PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gtk mit cairo



barton4
19-07-2008, 17:30
Hi,
ich will in gtk+.2.0 in einem Fenster was zeichnen lassen. Nun gibt es da anscheinend mehrere Wege unter Gtk. Ich wollte mal die Variante mit cairo ausprobieren.
Hier sind Bspcodes dazu:
http://webcvs.cairographics.org/cairo-demo/cairo_snippets/cairo_snippets_gtk.c?revision=1.4&view=markup

Leider funtkionieren die nicht(Debian Testing, amd64).
g++ meckert rum das er die gtkcairo.h nicht findet


g++ `pkg-config cairo gtk+-2.0 --cflags --libs` main.cpp
main.cpp:1:22: error: gtkcairo.h: No such file or directory
main.cpp: In function ‘int main(int, char**)’:
main.cpp:87: error: ‘gtk_cairo_new’ was not declared in this scope

g++ nehm ich deshalb weil das später mal in ein c++ code hinein soll, aber gcc gibt die selben fehlermeldungen aus.


weis jemand wie man gtk+-2.0 mit cairo complieren kann?

gruss Martin

Berufspenner
19-07-2008, 17:35
main.cpp:1:22: error: gtkcairo.h: No such file or directory
Deutet darauf hin, dass du die Bibliothek entweder gar nicht installiert hast oder an einem Ort, an dem der Compiler sie nicht findet bzw. den Header dazu.

main.cpp:87: error: ‘gtk_cairo_new’ was not declared in this scopeIst ein Folgefehler darauß.

barton4
19-07-2008, 19:51
das hab ich mir auch schon fast gedacht...
Die Gtk und cairo libraries sind vorhanden. Ein Packet was gtkcairo heist hab ich nicht gefunden. Auch die suche nach
gtkcairo um /usr Verzeichnis ist erfolglos.

Ist nur die Frage wo es sich verteckt hält:o

ContainerDriver
19-07-2008, 20:30
Such doch einfach mal in /:


find / 'gtkcairo.h'


Was gibt denn überhaupt pkg-config cairo gtk+-2.0 --cflags --libs aus?
Ist vielleicht libcairo2-dev das noch fehlende Paket?

Gruß, Florian

barton4
20-07-2008, 16:30
Also die Datei gtkcairo.h gibt es nicht.
Hier mal die ganzen libs zu cairo die auf dem System drauf sind:


ii cairo-clock 0.3.3-2 An analog clock drawn with vector-graphics
ii gtk2-engines-murrine 0.53.1-1 cairo-based gtk+-2.0 theme engine
ii libcairo-java 1.0.4-1+b1 CAIRO bindings for Java
ii libcairo-perl 1.060-1 Perl interface to the Cairo graphics library
ii libcairo-ruby 1.2.0-1 Cairo bindings for the Ruby language
ii libcairo-ruby1.8 1.2.0-1 Cairo bindings for the Ruby language
ii libcairo2 1.6.4-6 The Cairo 2D vector graphics library
ii libcairo2-dev 1.6.4-6 Development files for the Cairo 2D graphics
ii libcairo2-doc 1.6.4-6 Documentation for the Cairo Multi-platform 2
ii libcairo5c-0 1.4 nickle bindings for the cairo graphics libra
ii libcairomm-1.0-0 0.6.0-4 C++ wrappers for Cairo (shared libraries)
ii libcairomm-1.0-1 1.6.0-1 C++ wrappers for Cairo (shared libraries)
ii libcairomm-1.0-dev 1.6.0-1 C++ wrappers for Cairo (development files)
ii libmono-cairo1.0-cil 1.9.1+dfsg-2 Mono Cairo library
ii libpixman-1-0 0.10.0-2 pixel-manipulation library for X and cairo
ii libpixman-1-dev 0.10.0-2 pixel-manipulation library for X and cairo (
ii libswt-cairo-gtk-3.4-jni 3.4~rc3-1 Standard Widget Toolkit for GTK+ Cairo JNI l
ii python-cairo 1.4.12-1.1 Python bindings for the Cairo vector graphic




turion64:~# pkg-config cairo gtk+-2.0 --libs --cflags
-I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
turion64:~#


gruss, Martin

ContainerDriver
20-07-2008, 17:10
Naja, man könnte noch mal


apt-file search gtkcairo.h

ausprobieren, allerdings wird die Datei in der Paketsuche auf debian.org auch nicht gefunden.

barton4
09-08-2008, 13:15
es gibt eine Funktion die ähnlich heist: gdk_cairo_create(...)



graph_drawingArea = gtk_drawing_area_new();
gdk_cairo_create (graph_drawingArea->window);

damit funktioniert es nun