I am new to Linux OS. I am trying to compile a .c
file using a makefile. The math library has to be linked. My makefile looks like this:
CC=gcc
CFLAGS=-Wall -lm
all:client
.PHONY: clean
clean:
rm *~ *.o client
When I run make
, I get the following error:
"undefined reference to rint"
So it is not able to link the math library.
But when I compile explicitly using
gcc client.c -lm -o client
it successfully compiles.
So how should I change my makefile such that it works. I have already tried adding LDFLAGS=-lm
. But I get the same error.
I should also add that when I run make
, it expands to
gcc -Wall -lm client.c -o client
(notice that when I run gcc
explicitly with -lm
at the end, it works).
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…