Intente vincular la biblioteca después del archivo fuente, como gcc a.c -lmongoc
. Esto se debe a que está utilizando un enlazador de paso único tradicional, que espera satisfacer las dependencias con objetos posteriores, no anteriores, especificados en la línea de comando.