Я пометил твой вопрос, это не GTK +, это gio.
Как вы обнаружили в соответствии с вашим комментарием, ваша проблема была в том, что вы не связались с соответствующими библиотеками. Это потому, что в C простое включение заголовка не говорит компилятору, где найти код, который реализует вещи, объявленные в этом заголовке. Для этого вам, как правило, нужно связываться с соответствующими библиотеками (или компилировать код напрямую, как вы делаете это в своих собственных проектах).
Кстати, для ссылки на библиотеки рекомендуется использовать такой инструмент, как pkg-config . Тогда компиляция будет выглядеть примерно так:
$ gcc -o mygiotest mygiotest.c $(pkg-config --cflags --libs glib-2.0 gobject-2.0 gio-2.0)
Вам нужно перепроверить вышеупомянутое, я не в Linux, поскольку я набираю это, поэтому я не могу проверить точные имена пакетов.