因此,我正在尝试从https://www-user.tu-chemnitz.de/~potts/nfft/安装NFFT3包。
使用标准的configure,make,make install命令,它看起来安装正常。然而,我得到了错误:
simple_test.o: In function 'simple_test_nnfft_1d':
simple_test.c:(.text+0x44): undefined reference to 'nnfft_init'
simple_test.c:(.text+0xd6): undefined reference to 'nnfft_precompute_one_psi'
simple_test.c:(.text+0x158): undefined reference to 'nnfft_trafo_direct'
simple_test.c:(.text+0x17d): undefined reference to 'nnfft_trafo'
simple_test.c:(.text+0x19d): undefined reference to 'nnfft_finalize'`问题是,常规非快速傅立叶变换的文件simple_test.c运行得很好。有人知道怎么解决这个问题吗?我知道这是某种链接问题,但是这个软件太大了,我不知道如何修复它。
谢谢
编辑:所以在kernel/nnfft目录中有nnfft.c,其中包含所有必需的函数,但仍然没有头文件。有没有人知道包含这些声明的头文件的实际位置?我在测试代码的顶部包含了nnfft.c文件,并对其进行了编译,但这并不能解决最初的链接问题。
发布于 2016-04-13 22:28:27
首先运行ldconfig来缓存库。然后用-lnfft3运行gcc。
发布于 2017-01-15 03:34:09
这是因为默认情况下不编译NNFFT模块。
在配置时,您必须添加选项--enable-nnfft来执行此操作:
./configure --enable-nnffthttps://stackoverflow.com/questions/36042836
复制相似问题