所以我试图从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'`
问题是,常规NFFT的文件simple_test.c
工作得很好。有人知道如何解决这个问题吗?我知道这是一种链接问题,但软件太大了,我不知道如何修复它。
由于
编辑:所以在目录kernel / nnfft中有nnfft.c,其中包含所有必需的函数,但仍然没有头文件。有谁知道这些声明的标题实际位于何处?我在测试代码的顶部包含了nnfft.c文件,并将其编译,但这对最初的链接问题没有帮助。
答案 0 :(得分:0)
首先运行ldconfig
来缓存库。然后使用-lnfft3
运行gcc。
答案 1 :(得分:0)
这是因为默认情况下不编译NNFFT模块。
在配置时,您必须添加选项--enable-nnfft
:
./configure --enable-nnfft