a.out: GBST.o main.o
gcc GBST.o main.o
GBST.o: GBST.c GBST.h
gcc -c GBST.c
main.o: main.c
gcc -c main.c -lm
仍然,我得到main.c :(。text + 0x170):未定义引用`sqrt'错误,它可以是什么? (顺便说一句,我之前在GBST专栏中写过-lm并没有帮助,所以我删除了它)
答案 0 :(得分:8)
您需要在链接行中使用-lm
,而不是在编译行中。
a.out: GBST.o main.o
gcc GBST.o main.o -lm
# ^^^^ Need it here
GBST.o: GBST.c GBST.h
gcc -c GBST.c
main.o: main.c
gcc -c main.c
# ^^^^ Don't need it here