+ -
当前位置:首页 → 问答吧 → 求助:Make时出错,undefined reference to 'sqrt‘,加入-lm后,make check出错

求助:Make时出错,undefined reference to 'sqrt‘,加入-lm后,make check出错

时间:2011-10-21

来源:互联网

我在安装别人的一个工具时,安装INSTALL说明把它依赖的库都装好了,然后
./configre 后,运行 make,出现:

gcc -Wall -O3 -o scopy scopy.o gggetopt.o -lm -L. -lspro -L/usr/local/nist/lib -lsp -lutil 
./libspro.a(misc.o): In function `spf_buf_normalize':
misc.c:(.text+0xa9d): undefined reference to `sqrt'
misc.c:(.text+0xae1): undefined reference to `sqrt'
./libspro.a(misc.o): In function `set_lifter':
misc.c:(.text+0xe75): undefined reference to `sin'
./libspro.a(misc.o): In function `sig_normalize':
misc.c:(.text+0x1030): undefined reference to `sqrt'
./libspro.a(misc.o): In function `set_sig_win':
misc.c:(.text+0x10e2): undefined reference to `cos'
misc.c:(.text+0x11bb): undefined reference to `cos'
misc.c:(.text+0x11da): undefined reference to `cos'
misc.c:(.text+0x12b2): undefined reference to `cos'
collect2: ld 返回 1

然后,1. 可以修改Makefile,在LDADO后面加 -lm
原来的:LDADD = -lm -L. -lspro -L/usr/local/nist/lib -lsp -lutil 
加-lm后:LDADD = -lm -L. -lspro -L/usr/local/nist/lib -lsp -lutil -lm
可以make成功
2.或者在每一次都报错的是是,用gcc 在编译一下,即在后面加-lm

结果是,编译成功,但是make check出错。install后,别的函数调用这个库时,依然出现上面的undefined reference to sqrt等错误。。。


求指教啊。。。。

作者: amanut   发布时间: 2011-10-21

原来的不是已经加过了吗

作者: delphiwcdj   发布时间: 2011-10-21

make check时是啥错?

install后别的函数调用时你加-lm了么

作者: xunxun1982   发布时间: 2011-10-21