Questo perché i file .h *non sono* librerie.

I file di intestazione del C (i .h) contengono sono le firme delle funzioni, le costanti, le strutture, i tipi ... ma non l'implementazione che è contenuta in file .c (se hai la libreria in formato sorgente) o in file binari .lib, .a, .dll a seconda del tipo di libreria.

La libreria da linkare è la glib