В статическом линковании, как компоновщик знает, с каким библиотечным файлом связать скомпилированный объектный код пользователя?Я имею в виду, что заголовок содержит только прототипы функций, которые могут использоваться в исходном коде, а не имя файла библиотеки ... не так ли?
Вот почему вы предоставляете компоновщику список библиотек для ссылок!
Например, для GCC вы можете сделать что-то вроде:
gcc my_prog.o -lm -lpthread -o my_prog
Здесь флаг -lиспользуется для указания компоновщику ссылки на libm и libpthread.
-l
libm
libpthread
Получает список библиотек из командной строки. Специфика будет зависеть от ОС и компилятора.