我想用犰狳计算fft,为了提高性能,我已经激活了FFTW3 bib的使用。
这是代码:
#define ARMA_USE_FFTW3
#include <armadillo>
int main()
{
arma::vec X(100, arma::fill::randu);
arma::cx_vec Y = arma::fft(X, 128);
return 0;
}
错误:
错误 LNK2019 无法解析函数 void arma::fftw3::destroy_plan 中引用的外部符号 fftwf_destroy_plan。
我确实成功链接了犰狳围兜和 FFTW3。 分别armadillo和fftw3编译成功。
我正在使用:
cmakelist.txt
set(INC_DIR D:/fftw-3.3.10.tar/fftw-3.3.10/fftw-3.3.10/api/)
set(LINK_DIR D:/fftw-3.3.10.tar/fftw-3.3.10/fftw-3.3.10/build/Release/)
include_directories(${INC_DIR})
link_directories(${LINK_DIR})
link_libraries(fftw3)
# include armandilo
set(INC_DIR_arma D:/EndusV3/code/libExtern/armadillo-12.4.1/include)
set(LINK_DIR_arma D:/EndusV3/code/libExtern/armadillo-12.4.1/lib_win64)
include_directories(${INC_DIR_arma})
link_directories(${LINK_DIR_arma})
link_libraries(libopenblas)
感谢您考虑我的请求。
我尝试分别编译armadillo和fftw3,编译成功。
我认为犰狳和 fftw3 之间的版本不兼容。
我设法修复了链接错误。我在 fftw3 网站上找到了解决方案。 : http://www.fftw.org/install/windows.html
问题是缺少库(fftw3 的浮点和双精度版本)。