Я пытаюсь заставить простой проект работать с FFTW в Visual Studio 2010. У меня проблемы с подключением библиотеки.
Я создал 64-битные .lib файлы, как указано в их страница Windows
Я разархивировал 64-битную версию их загрузки и запустил указанные инструменты в этом каталоге. Я распаковал его в папку с именем «fftw», как брат моего проекта.
В Visual Studio я создал консольное приложение C ++ со всеми настройками по умолчанию. Тип сборки по умолчанию — Debug Win32. Я добавил эту строку в Свойства конфигурации → Линкер:
C:\Users\XXXXX\Documents\Visual Studio 2010\Projects\fftw\libfftw3-3.lib
Я также добавил libfftw3-3.lib в Свойства конфигурации → Линкер → Ввод и пробовал полный путь там.
Я включаю комплекс StdLib и FFTW:
#include <complex>
#include "..\..\fftw\fftw3.h"
Моя основная функция просто имеет пример кода:
int _tmain(int argc, _TCHAR* argv[])
{
const int N = 1024;
fftw_complex in[N], out[N];
fftw_plan p;
p = fftw_create_plan(N, FFTW_FORWARD, FFTW_ESTIMATE);
fftw_one(p, in, out);
fftw_destroy_plan(p);
return 0;
}
Когда я пытаюсь построить, я получаю это:
1>------ Build started: Project: FFTTest, Configuration: Debug Win32 ------
1> FFTTest.cpp
1>c:\users\XXXXX\documents\visual studio 2010\projects\ffttest\ffttest\ffttest.cpp(34): error C3861: 'fftw_create_plan': identifier not found
1>c:\users\XXXXX\documents\visual studio 2010\projects\ffttest\ffttest\ffttest.cpp(36): error C3861: 'fftw_one': identifier not found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Может ли кто-то показать мне ошибку в моем пути?
Нашел это: fftw_create_plan()
а также fftw_one()
являются функциями, которые были удалены из FFTW3.
Возможно, вы получили код от Учебник FFTW2, увидеть Учебник FFTW3 вместо.
Не используйте обратную косую черту в путях:
#include "../../fftw/fftw3.h"
Обратная косая черта в C / C ++ интерпретируется как escape-символ, чтобы создать обратную косую черту, вам нужно удвоить ее, но обычно всегда используйте /
сделать разделители пути.
Я пытался использовать FFTW v2 API с библиотеками FFTW v3. Рабочий пример на их страница учебника v3.
Шаги, приведенные выше для ссылки на библиотеку, в порядке. Вы также можете поместить FFTW DLL в каталог, где находится ваш исполняемый файл.