Ubuntu下使用gcc编译c文件,虽然我调用了math.h的头文件,但是未识别cos,sin.
报错:( fft.c )
/tmp/ccwXjD8C.o: In function `fft':
fft.c:(.text+0x17a): undefined reference to `cos'
fft.c:(.text+0x188): undefined reference to `sin'
原因:
一般出现这个问题说明,在编译时已经正确找到头文件math.h,但在链接时因为没有合适的编译选项来包括数学库。所以,这样做的结果是可以产生.o的目标文件,但不会有可执行文件。
解决方案:
加上 -Wall 和 -lm
gcc -Wall fft.c -lm -o fft