Spróbuj połączyć bibliotekę po pliku źródłowym, np. gcc a.c -lmongoc . Dzieje się tak, ponieważ używasz tradycyjnego jednoprzebiegowego konsolidatora, który oczekuje spełnienia zależności z kolejnymi, a nie wcześniejszymi obiektami określonymi w wierszu poleceń.