在PintOS中运行make时获取未定义的引用“floor”

时间:2012-04-01 10:22:25

标签: c gcc makefile

我正在尝试在PintOS makefile上运行make,但我一直得到未定义的引用`floor'错误。 makefile在下面。我用gcc 4.6.1运行Ubuntu 11.10。任何帮助表示赞赏。

    all: setitimer-helper squish-pty squish-unix
    CC = gcc
    CFLAGS = -Wall -W
    LDFLAGS = -lm
    setitimer-helper: setitimer-helper.o
    squish-pty: squish-pty.o
    squish-unix: squish-unix.o

    clean: 
          rm -f *.o setitimer-helper squish-pty squish-unix

1 个答案:

答案 0 :(得分:8)

-lm应该在LDLIBS,而不是LDFLAGS

区别很重要,因为链接可执行文件的隐式规则是:

$(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS)

ld(由GCC调用)具有严格的从左到右的依赖性解析算法。