bon, si cest pendant la compilation, ça ne vient pas du . a
genre :
main.c: line 321 : undefined reference to truc()
--> ça vient de tes include mal faits
si ça vient du linkage, alors oui, ça vient du . a
main.o : $0x151560 undefined reference to truc()
ne confond pas les 2 
Bon, a mon avis, ça vient du link ( car si C la compile tu T gourré dans les #include et je te laisse trouver)
sinon, avec gcc : pour linker une lib :
déja copie ta lib dans le repertoire lib ou il y a les autres.
puis rajoute un param a ton gcc :
par exmple, pour linker plouf.a tu tapes :
-lplouf
pour rajouter truc.a
-ltruc
je te laisse essayer, dis moi si ça marche pas