Вот что я сделал, пытаясь установить и использовать FFTW в Visual Studio 2017 на моей 64-битной машине:
- Установите fftw-3.3.5-dll64.zip с этой страницы
- Создайте новое "Консольное приложение Windows" в меню "Файл"> "Новый проект" с именем fftw_helloworld. Были использованы все настройки по умолчанию, включая поле "Создать каталог для решения".
Открыл командную строку разработчика для VS 2017, переместился в разархивированную папку, содержащую файлы fftw и запустил
lib /def:libfftw3-3.lib
В Project> fftw_helloworld Properties> C /C++> General> Additional Include Directories я добавил папку, содержащую файлы fftw. Я сделал то же самое в Project> fftw_helloworld Properties> Linker> General> Дополнительные каталоги библиотеки. В Project> fftw_helloworld Properties> Linker> Input> Дополнительные зависимости я добавил libfftw3-3.lib.
Я запустил этот код:
#include "pch.h" #include <fftw3.h> int main() { fftw_complex *in, *out; fftw_plan p; int N = 32; in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N); out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N); p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(p); /* repeat as needed */ fftw_destroy_plan(p); fftw_free(in); fftw_free(out); return 0; }
Я получил системную ошибку "Выполнение кода не может быть продолжено, поскольку libfftw3-3.dll не был найден. Переустановка программы может решить эту проблему ". Я закрыл VS, заново открыл проект, очистил его и восстановил его, но не повезло.
После поиска в Stack Exchange я обнаружил, что потенциальным решением было добавить libfftw3-3.dll в папку, содержащую fftw_helloworld.exe, я так и сделал, и ошибка изменилась на «Приложение не удалось правильно запустить (0xc000007b). Нажмите кнопку ОК, чтобы закрыть приложение. "
Я застрял здесь, я не знаю, как это исправить, и мне нужно FFTW, чтобы продолжить.