How to fix GCC undefined reference to `sqrt'
Problem:
When trying to compile your application using gcc, you see an error message like
/usr/bin/ld: /tmp/ccxPIowU.o: in function `run_mymath':
mathstuff.c:(.text+0x15d): undefined reference to `sqrt'
Solution
You need to link the math library using the -lm
flag (-lxxx
means: “link the xxx
library”, i.e. -lm
means “link the m
” library)
For example, instead of
gcc -o myprogram *.c
use
gcc -o myprogram *.c -lm