glib.h and gtk.h not found

tariq picture tariq · Mar 11, 2011 · Viewed 17.9k times · Source

hi every one i have a program in which i have include

  • gtk/gtk.h
  • glib.h

i have used commands

sudo apt-get install libgtk2.0-dev glib 
sudo apt-get install glade

but still getting error that glib not found ans gtk/gtk.h not found. i am first time using this gtk . no idea how it works how to install it kindly help me thanks

i am doing c programming

Answer

Petesh picture Petesh · Mar 11, 2011

The command you're supposed to use (in more recent releases of linux/gtk) is pkg-config, not gtk-config. gtk-config is intended for pre 2.0 gtk development.

Consider the file you're compiling is called foo.c, to compile it under gtk-2.0, you would use, from the command line the command:

gcc `pkg-config --cflags glib-2.0 gtk+-2.0` foo.c -o foo `pkg-config --libs glib-2.0 gtk+-2.0`

This should compile, and give you a file foo, that can be executed.

but really, use a makefile, as this stuff is a pain to keep typing. I would write out a sample makefile, but there are rules that need to be followed in the formatting of them that makes it difficult to type in the editor window.

# Sample Makefile
CFLAGS := $(shell pkg-config --cflags glib-2.0 gtk+-2.0)
LDFLAGS := $(shell pkg-config --libs glib-2.0 gtk+-2.0)

foo: foo.c
<TAB HERE NOT SPACES>$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)

This defines a simple rule saying to make foo, it depends on foo.c, so of foo.c is newer than foo, it will be rebuilt. Where I write 'TAB HERE NOT SPACES' it must be a tab character, and cannot be a set of space characters.