|
小妹刚刚着手嵌入式,还有多多不懂,请各位大侠指教!!多谢
最近想把msntp(是基于pclinux的程序)移植到uClinux下去,但是好像编译连接总是有问题,之前的Makefile是这样的:
CFLAGS += -DLOCKNAME='"/var/run/msntp.pid"' -DSAVENAME='"/var/run/msntp.state"
'
all: msntp
clean:
rm -f msntp msntp-1.5.tar.gz *~ *.o core *.gdb
msntp: main.o unix.o internet.o socket.o timing.o
$(CC) $(LDFLAGS) -o msntp main.o unix.o internet.o socket.o timing.o
$(LIBS) $(LDLIBS)
main.o: main.c header.h kludges.h
unix.o: unix.c header.h kludges.h
internet.o: internet.c header.h internet.h kludges.h
socket.o: socket.c header.h internet.h kludges.h
timing.o: timing.c header.h kludges.h
我自己添加了:
LIBS = -lm(这个是前面的注释好像说是这么加的哦,能问一下是什么意思吗?)
CC = arm-elf-gcc
LDFLAGS += -Wl,-elf2flt
romfs:
$(ROMFSINST) /bin/msntp
最后总体make之后就错,但是在printf.c中明明是有include <stdlib.h>,那个头文件中也
定义了gcvt啊,是不是连接的路径还是其他什么问题,多谢大侠指教了哦!!!!
arm-elf-gcc -Os -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/sunq
/uclinux/uClinux-dist/lib/libc/include -I/home/sunq/uclinux/uClinux-dist/lib/l
ibm -I/home/sunq/uclinux/uClinux-dist -fno-builtin -nostartfiles -I/home/sunq/
uclinux/uClinux-dist/linux/include -Wl,-elf2flt /home/sunq/uclinux/uClinux-dis
t/lib/libc/crt0.o -Wl,-elf2flt -o msntp main.o unix.o internet.o socket.o timi
ng.o -lm -L/home/sunq/uclinux/uClinux-dist/lib/libc/. -L/home/sunq/uclinux/uClinux-
dist/lib/libc/lib -L/home/sunq/uclinux/uClinux-dist/lib/libm -L/home/sunq/ucli
nux/uClinux-dist/lib/libnet -L/home/sunq/uclinux/uClinux-dist/lib/libdes -L/ho
me/sunq/uclinux/uClinux-dist/lib/libpcap -L/home/sunq/uclinux/uClinux-dist/lib
/libssl -lc
msntp.elf2flt: In function `vfnprintf':
/home/sunq/uclinux/uClinux-dist/lib/libm/../libc/stdio2/printf.c:451: undefine
d reference to `gcvt'
msntp.elf2flt: In function `vfscanf':
/home/sunq/uclinux/uClinux-dist/lib/libm/../libc/stdio2/scanf.c:425: undefined
reference to `fp_scan'
collect2: ld returned 1 exit status
make[2]: *** [msntp] Error 1 |
|