Как заставить FFTW работать в Eclipse CDT на Windows XP - PullRequest
1 голос
/ 19 сентября 2009

Я пытаюсь заставить самое быстрое преобразование Фурье на Западе сотрудничать с затмением. Я скачал его с веб-сайта (это большая папка с именем fftw-3.2.2, заполненная другими папками с именами api, dft, cell, doc, kernel, fdft и другими, каждая из которых заполнена файлами .h и .c).

Я пытался зайти в проект> Свойства> MinGW C linker> Библиотеки> Путь поиска библиотеки (-L) и добавить папку fftw-3.2.2. Я пытаюсь поставить #include или #include вверху моего кода.

Я могу вставить строку вроде 'fftw_plan p;' и это нормально, но всякий раз, когда я пытаюсь использовать одну из функций преобразования Фурье, например, 'fftw_execute (p);' , это дает мне сообщение «неопределенная ссылка на fftw_ececute». проект отказывается строить и запускать, и я застрял.

Я осмотрелся здесь и в других местах, и все говорит мне о файлах libX.a, но fftw-3.2.2 не содержит файлов с расширением .a. Как заставить затмение работать с fftw? Я использую eclipse ganymede 3.4.1 на компьютере с Windows XP с компилятором mingw.

1 Ответ

0 голосов
/ 19 сентября 2009

Вы скачали бинарные файлы, связанные здесь ?

Предполагая, что вы это сделали, когда вы компилируете, вам нужно соединиться с предоставленными библиотеками. Вероятно, они имеют расширение .dll и могут быть найдены в каталоге lib или bin или аналогичном. Возможно, вы захотите проверить, есть ли в загружаемом файле файл readme, в котором указано, как его использовать.

Чтобы связать с библиотеками, сначала необходимо указать этот путь в качестве пути компоновщика, что, как вы уже сделали, а затем вам нужно добавить определенные библиотеки, которые вы используете, в список библиотек ссылок. , Вот скриншот , взятый с этой страницы , который показывает, как это делается. По сути, вы идете в свойства проекта, затем находите раздел «Сборка C / C ++», затем на вкладке «Настройки инструмента» вы добавляете имена файлов библиотеки, БЕЗ расширения. Компилятор будет искать пути поиска библиотек для этих библиотек (не рекурсивно).

...