Forum: PC-Programmierung gtk auf raspberry pi


von Jens (Gast)


Lesenswert?

Hallo,
ich habe auf einem raspberry pi gtk installiert
1
$ sudo apt-get update
2
$ sudo apt-get upgrade
3
$ sudo apt-get install libgtk-3-dev
4
$ sudo apt-get install xterm[c]
5
6
ein kleines Programm gemacht mit 
7
[c]
8
#include <gtk/gtk.h>

gemacht und wollte dann mit

gcc hallowelt.c -o HalloWelt

bauen. Dabei bekomme ich aber den Fehler:
gtk/gtk.h: No such file or directory

von Programmierer (Gast)


Lesenswert?

pkg-config korrekt genutzt? So muss man das kompilieren & linken:
1
gcc `pkg-config --cflags gtk+-3.0` -o example-0 example-0.c `pkg-config --libs gtk+-3.0`

https://developer.gnome.org/gtk3/stable/gtk-getting-started.html

von Jens (Gast)


Lesenswert?

Programmierer schrieb:
> gcc `pkg-config --cflags gtk+-3.0` -o example-0 example-0.c `pkg-config
> --libs gtk+-3.0`


mhh, erstmal danke dir. Aber das funktioniert auch nicht

gcc 'pkg-config --cflags gtk+-3.0' -o HalloWelt hallowelt.c 'pkg-config 
--libs gtk+-3.0'

gcc: error: pkg-config --cflags gtk+-3.0: No such file or directory
gcc: error: pkg-config --libs gtk+-3.0: No such file or directory

von Programmierer (Gast)


Lesenswert?

Falsche Anführungsstriche. Es muss ` sein und nicht ' . Kopiere exakt 
meine Zeile, bis auf den Dateinamen.

von Jens (Gast)


Lesenswert?

Programmierer schrieb:
> Falsche Anführungsstriche. Es muss ` sein und nicht ' . Kopiere
> exakt
> meine Zeile, bis auf den Dateinamen.

ah tatsache, da hatte ich nicht drauf geachtet :)
Das bauen geht zwar, aber starten tut es nicht
1
#include <gtk/gtk.h>
2
int main(int argc, char *argv[]) {
3
  gtk_init(&argc, &argv);
4
  GtkWidget *w;
5
  w = gtk_window_new(GTK_WINDOW_TOPLEVEL);
6
  gtk_window_set_title(GTK_WINDOW(w), "Hallo Welt");
7
  gtk_window_set_default_size(GTK_WINDOW(w), 200, 200);
8
  gtk_window_set_position(GTK_WINDOW(w),GTK_WIN_POS_CENTER);
9
  gtk_widget_show(w);
10
  gtk_main();
11
  return 0;
12
}

wenn ich das gebaute aufrufe,
 ./HalloWelt

Kommt der Fehler
(HalloWelt:6179): Gtk-WARNING **: 17:35:05.803: cannot open display:

von Programmierer (Gast)


Lesenswert?

Jens schrieb:
> (HalloWelt:6179): Gtk-WARNING **: 17:35:05.803: cannot open display:

Ja, startest du es denn von einem X-Terminal heraus? Über SSH klappt 
vielleicht sowas wie:
1
DISPLAY=:0.0 ./HalloWelt

von Rolf M. (rmagnus)


Lesenswert?

Programmierer schrieb:
> Falsche Anführungsstriche. Es muss ` sein und nicht ' . Kopiere exakt
> meine Zeile, bis auf den Dateinamen.

Man kann statt
1
`pkg-config --cflags gtk+-3.0`
auch
1
$(pkg-config --cflags gtk+-3.0)
schreiben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.