最佳答案
我是 Linux 操作系统的新手。我正在尝试使用 makefile 编译一个 .c
文件。数学图书馆必须连接起来。我的 makefile 是这样的:
CC=gcc
CFLAGS=-Wall -lm
all:client
.PHONY: clean
clean:
rm *~ *.o client
当我运行 make
时,会得到以下错误:
"undefined reference to rint"
所以它不能链接数学库。
但是当我使用
gcc client.c -lm -o client
它成功地编译了。
因此,我应该如何更改 makefile 以使其工作。我已经试过加入 LDFLAGS=-lm
。但我得到了同样的错误。
我还应该补充一点,当我运行 make
时,它会展开为
gcc -Wall -lm client.c -o client
(请注意,当我在结尾使用 -lm
显式地运行 gcc
时,它是有效的)。