Почему происходит ошибка "Undefined reference to fftwf_malloc" после установки библиотеки fftw3?
Установил библиотеку fftw3. При попытке использовать ее возникает ошибка линкера.
/home/vadim/projects/test/test3/testFFt/main.cpp:7: error: undefined reference to 'fftwf_malloc'
в .pro-файле указал ее, LIBS += -lfftw3. Но этого недостаточно, пытался указывать путь через -L/usr/local/lib/ (по умолчанию библиотека устанавливается туда).
Код программы:
#include <iostream>
#include <fftw3.h>
int main()
{
float *input = static_cast<float*>(fftwf_malloc(64 * sizeof(float)));
fftwf_free(input);
return 0;
}
.pro-файл выглядит так:
TEMPLATE = app
CONFIG += console c++17
CONFIG -= app_bundle
CONFIG -= qt
LIBS += -L/usr/local/lib/ -lfftw3
SOURCES += \
main.cpp
Ответы (1 шт):
Автор решения: Pak Uula
→ Ссылка
Вы вызываете функцию fftwf_malloc - суффкс f в fftwf намекает, что это функция из библиотеки FFT одинарной точности, то есть libfftw3f.so
Поэтому вам нужно установить пакет libfftw3-single3 (так называется в Debian/Ubuntu) и линковать с библиотекой -lfftw3f