Возможный дубликат:
Почему вы должны связать математическую библиотеку с C?
Когда я пишу программу, которая использует функции из библиотеки math.h, почему я должен явно ссылаться на libm, даже если они являются частью стандартной библиотеки C?
Например, когда я хочу использовать функцию sin(), мне нужно #include <math.h>, но мне также нужно передать -lm в GCC. Но для любой другой библиотеки из стандартной библиотеки мне не нужно это делать. Почему разница?