Я не могу заставить FFTW ссылаться на мой код, чтобы использовать его функции в моем коде. Я потратил на это достаточно времени, чтобы подумывать о том, чтобы отказаться от него.
Я очень хорошо знаком с GSL и широко использовал библиотеки линейной алгебры с хорошими результатами. GSL также имеет набор функций БПФ, которые делают то же самое, что и FFTW. Они так же хороши? Или FFTW значительно лучше, и стоит потратить больше времени, чтобы попытаться заставить его работать?
(Между прочим, моя ошибка заключается в том, что при использовании g++ в удаленной системе, в которой я не являюсь администратором, я не могу скомпилировать свой код для распознавания ссылок на вызовы FFTW. Мой make-файл включает -L/libdirectory -lfftw3, но я все равно получаю неопределенные ссылки для некоторых (не всех) функций fftw).
Вот источник:#include "fftw3.h"
in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * length);
Вот соответствующая команда компиляции:g++ -std=c++0x -fPIC ... -lm ... -L/libdirectory -lfftw3
Вот ошибка:/source.cc: undefined reference to 'fftw_malloc'
Обратите внимание, что компилятор может найти fftw3.h. Я также могу объявить такие объекты, как fftw_complex
и fftw_plan
.
РЕДАКТИРОВАТЬ: я до сих пор не могу заставить свой Makefile связать статическую библиотеку. Тем не менее, мне удалось перекомпилировать с общими библиотеками, и, похоже, до сих пор они работали. Тем не менее, я все же хотел бы увидеть некоторые тесты старше 11 лет!
#include "fftw3.h"
in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * length);
Вот соответствующая команда компиляции:g++ -std=c++0x -fPIC ... -lm ... -L/libdirectory -lfftw3
Вот ошибка:/source.cc: undefined reference to 'fftw_malloc'
- person Machinus   schedule 25.03.2016