未定义的引用`ceilf'

时间:2013-07-21 17:13:37

标签: c makefile gnu-make

我正试图“制作”一个程序但却面对这些错误;我使用make -lm甚至做了#include但我仍面临同样的问题。我尝试在Ubuntu和Debian上安装应用程序只是为了确保我删除对已损坏库的疑虑。仍然没有成功!

nat_src_endpoint_ip.o: In function `__new':
    /root/softwares/sweetspot-0.0.20/src/nat_src_endpoint_ip.c:95: undefined reference to `ceilf'
    nat_src_endpoint_tcp.o: In function `__create':
    /root/softwares/sweetspot-0.0.20/src/nat_src_endpoint_tcp.c:58: undefined reference to `ceilf'
    nat_src_endpoint_udp.o: In function `__create':
    /root/softwares/sweetspot-0.0.20/src/nat_src_endpoint_udp.c:59: undefined reference to `ceilf'
    nat_src_endpoint_icmp.o: In function `__create':
    /root/softwares/sweetspot-0.0.20/src/nat_src_endpoint_icmp.c:48: undefined reference to `ceilf'
    collect2: ld returned 1 exit status
    make[1]: *** [sweetspot] Error 1
    make[1]: Leaving directory `/root/softwares/sweetspot-0.0.20/src'
    make: *** [all] Error 2

1 个答案:

答案 0 :(得分:0)

您应该与数学库链接。在Gcc中,这意味着您应该将-lm添加到链接命令行(如果您只使用一个命令行,则意味着此命令行用于编译和链接)。