Вот что я сделал, пытаясь установить и использовать FFTW в Visual Studio 2017 на моей 64-битной машине:

  1. Установите fftw-3.3.5-dll64.zip с этой страницы
  2. Создайте новое "Консольное приложение Windows" в меню "Файл"> "Новый проект" с именем fftw_helloworld. Были использованы все настройки по умолчанию, включая поле "Создать каталог для решения".
  3. Открыл командную строку разработчика для VS 2017, переместился в разархивированную папку, содержащую файлы fftw и запустил lib /def:libfftw3-3.lib

  4. В 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.

  5. Я запустил этот код:

    #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;
    }
    
  6. Я получил системную ошибку "Выполнение кода не может быть продолжено, поскольку libfftw3-3.dll не был найден. Переустановка программы может решить эту проблему ". Я закрыл VS, заново открыл проект, очистил его и восстановил его, но не повезло.

  7. После поиска в Stack Exchange я обнаружил, что потенциальным решением было добавить libfftw3-3.dll в папку, содержащую fftw_helloworld.exe, я так и сделал, и ошибка изменилась на «Приложение не удалось правильно запустить (0xc000007b). Нажмите кнопку ОК, чтобы закрыть приложение. "

  8. Я застрял здесь, я не знаю, как это исправить, и мне нужно FFTW, чтобы продолжить.

0