gpt4 book ai didi

math - 编译和链接 KISSFFT

转载 作者:行者123 更新时间:2023-12-02 17:48:45 27 4
gpt4 key购买 nike

我在编译和链接“开箱即用”的 kissfft 库时遇到了新问题。我已经下载了 kissfft 库并将其解压缩到测试目录。进入目录并运行“make testall”后,我收到以下错误,看起来 std c 数学库没有正确链接。

sharkllama@quaaludes:~/KISSFFT/kiss_fft129$ make testall
# The simd and int32_t types may or may not work on your machine
make -C test DATATYPE=simd CFLAGADD="" test
make[1]: Entering directory `/home/sharkllama/KISSFFT/kiss_fft129/test'
cd ../tools && make all
make[2]: Entering directory `/home/sharkllama/KISSFFT/kiss_fft129/tools'
cc -o fft_simd -Wall -O3 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast -Wwrite-strings -I.. -DUSE_SIMD=1 -msse -lm ../kiss_fft.c fftutil.c kiss_fftnd.c kiss_fftr.c kiss_fftndr.c
/tmp/ccFbS0yK.o: In function `kiss_fft_alloc':
kiss_fft.c:(.text+0xd17): undefined reference to `sincos'
kiss_fft.c:(.text+0xd6b): undefined reference to `floor'
kiss_fft.c:(.text+0xe07): undefined reference to `sincos'
kiss_fft.c:(.text+0xeba): undefined reference to `sqrt'
/tmp/ccbYqDcf.o: In function `kiss_fftr_alloc':
kiss_fftr.c:(.text+0x118): undefined reference to `sincos'
kiss_fftr.c:(.text+0x188): undefined reference to `sincos'
collect2: ld returned 1 exit status
make[2]: *** [fft_simd] Error 1
make[2]: Leaving directory `/home/sharkllama/KISSFFT/kiss_fft129/tools'
make[1]: *** [tools] Error 2
make[1]: Leaving directory `/home/sharkllama/KISSFFT/kiss_fft129/test'
make: *** [testall] Error 2
sharkllama@quaaludes:~/KISSFFT/kiss_fft129$

显然,由于包含了 -lm 选项,makefile 试图链接到数学库。无法理解这一点。我以前编译过许多正确链接到数学库的程序。任何帮助,将不胜感激。谢谢,-B

最佳答案

Kissfft 并不是真正需要像其他库那样制作和安装的东西。如果您需要复杂的 ffts,那么您需要做的就是在您的项目中编译 kiss_fft.c。如果您需要更专业的东西,如多维或真实 ffts,那么您还应该从工具目录编译适当的文件。

make 目标主要用于 kissfft 的开发测试。进行该测试有很多系统要求。除非您要更改 kissfft 的内部结构,否则您不需要使用这些测试目标。

关于math - 编译和链接 KISSFFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11164131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com