C Makefile最初的结构方式,而且由于我是makefiles新手,我不知道如何进行正确的更改。使用LDLIBS而不是LDFLAGS应该可以解决这个问题,而不必使用隐式规则显式列出所有目标的配方@约翰·马歇尔展示了如何做到这一点。@RudyMatela,你
C Makefile最初的结构方式,而且由于我是makefiles新手,我不知道如何进行正确的更改。使用LDLIBS而不是LDFLAGS应该可以解决这个问题,而不必使用隐式规则显式列出所有目标的配方@约翰·马歇尔展示了如何做到这一点。@RudyMatela,你,c,gcc,makefile,C,Gcc,Makefile,Makefile最初的结构方式,而且由于我是makefiles新手,我不知道如何进行正确的更改。使用LDLIBS而不是LDFLAGS应该可以解决这个问题,而不必使用隐式规则显式列出所有目标的配方@约翰·马歇尔展示了如何做到这一点。@RudyMatela,你是对的,但我只是指出了错误的原因,我不明白你的意思。makefile是作为tarball的一部分提供给我的。你能以原始makefile的形式向我展示一下吗?@Varagrawal不是$LD$LDFLAGS myprog.o-o myprog,而
Makefile最初的结构方式,而且由于我是makefiles新手,我不知道如何进行正确的更改。使用LDLIBS而不是LDFLAGS应该可以解决这个问题,而不必使用隐式规则显式列出所有目标的配方@约翰·马歇尔展示了如何做到这一点。@RudyMatela,你是对的,但我只是指出了错误的原因,我不明白你的意思。makefile是作为tarball的一部分提供给我的。你能以原始makefile的形式向我展示一下吗?@Varagrawal不是$LD$LDFLAGS myprog.o-o myprog,而是写$LD myprog.o$LDFLAGS-o myprog,这样库就可以跟踪要链接的对象文件列表。但这不是makefile最初的结构方式,因为我是makefiles的新手,我不知道如何进行正确的更改。使用LDLIBS而不是LDFLAGS应该可以解决问题,而不必使用隐式规则显式列出所有目标的配方@约翰·马歇尔展示了如何做到这一点。@RudyMatela,你是对的,但我只是指出了错误的原因
all: setitimer-helper squish-pty squish-unix
# 2207718881418
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
gcc -lm setitimer-helper.o -o setitimer-helper
setitimer-helper.o: In function `main':
setitimer-helper.c:(.text+0xbb): undefined reference to `floor'
collect2: ld returned 1 exit status
make: *** [setitimer-helper] Error 1
CC = gcc
CFLAGS = -Wall -W
LDFLAGS = -lm
myprog: myprog.o more_code.o
${CC} ${CFLAGS} myprog.o more_code.o ${LDFLAGS} -o myprog
myprog.o: myprog.c
${CC} ${CFLAGS} -c myprog.c
more_code.o: more_code.c
${CC} ${CFLAGS} -c more_code.c
clean:
\rm myprog.o more_code.o myprog
CC = gcc
CFLAGS = -Wall -W
LDFLAGS = -lm
OBJECTS = setitimer-helper.o squish-pty.o squish-unix.o
all: setitimer-helper
setitimer-helper: $(OBJECTS)
${CC} ${CFLAGS} $(OBJECTS) ${LDFLAGS} -o setitimer-helper
setitimer-helper.o: setitimer-helper.c
${CC} ${CFLAGS} -c setitimer-helper.c
squish-pty.o: squish-pty.c
${CC} ${CFLAGS} -c squish-pty.c
squish-unix.o: squish-unix.c
${CC} ${CFLAGS} -c squish-unix.c
CC = gcc
# etc
setitimer-helper: setitimer-helper.o
# etc
$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
$(CC) $(LDFLAGS) setitimer-helper.o $(LDLIBS) -o setitimer-helper
LDLIBS = -lm