求助:Make时出错,undefined reference to 'sqrt‘,加入-lm后,make check出错
我在安装别人的一个工具时,安装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等错误。。。
求指教啊。。。。