Команда, которую вы должны использовать (в более поздних выпусках linux / gtk) - это pkg-config, а не gtk-config. gtk-config предназначен для разработки до 2.0 gtk.
Считайте, что файл, который вы компилируете, называется foo.c, чтобы скомпилировать его в gtk-2.0, вы должны использовать из командной строки команду:
gcc `pkg-config --cflags glib-2.0 gtk+-2.0` foo.c -o foo `pkg-config --libs glib-2.0 gtk+-2.0`
Это должно скомпилировать и дать вам файл foo, который может быть выполнен.
но на самом деле, используйте make-файл, так как набирать текст - это боль. Я бы выписал примерный make-файл, но есть правила, которые необходимо соблюдать при их форматировании, что затрудняет его ввод в окне редактора.
# 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)
Это определяет простое правило, говорящее о создании foo, это зависит от foo.c, поэтому foo.c новее, чем foo, он будет перестроен. Там, где я пишу «TAB HERE NOT SPACES», это должно быть символом табуляции и не может быть набором пробелов.