当前位置: 技术问答>linux和unix
microwindows 的makefile 关于数学库的问题,谢谢! (在线等!
来源: 互联网 发布时间:2015-09-20
本文导语: 请问,我在demo5中添加了自己的程序,程序中用到了数学(math)库,使用make编译的时候出现下面的问题: demo5.o: In function `noiseoff': demo5.o(.text+0x474): undefined reference to `sqrt' demo5.o(.text+0x474): relocation truncated to fit: R_ARM_PC...
请问,我在demo5中添加了自己的程序,程序中用到了数学(math)库,使用make编译的时候出现下面的问题:
demo5.o: In function `noiseoff':
demo5.o(.text+0x474): undefined reference to `sqrt'
demo5.o(.text+0x474): relocation truncated to fit: R_ARM_PC24 sqrt
同样的程序,用gcc编译加上-lm是没有这个问题的.请问这样的问题是不是在makefile中没有添加数学库造成的,如果是,要如何添加,如果不是,那应该怎么改?谢谢!
demo5.o: In function `noiseoff':
demo5.o(.text+0x474): undefined reference to `sqrt'
demo5.o(.text+0x474): relocation truncated to fit: R_ARM_PC24 sqrt
同样的程序,用gcc编译加上-lm是没有这个问题的.请问这样的问题是不是在makefile中没有添加数学库造成的,如果是,要如何添加,如果不是,那应该怎么改?谢谢!
|
你在gcc中怎么添加,就在makefile中怎么加啊
makefile只是一个描述文件而已。
不然你把你的Makefile贴出来看看。
makefile只是一个描述文件而已。
不然你把你的Makefile贴出来看看。
|
要加上数学库的,数学库不是c的标准库,所以要在makefile中加参数 -lm 将数学库加进去
如:
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(MYLIBS) -lm //这里
如:
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(MYLIBS) -lm //这里