Неопределенная ссылка на `fftw_init_threads 'при установке библиотеки pHa sh - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь установить библиотеку pHa sh в Ubuntu, я установил libfftw3 и все необходимые библиотеки. Все хорошо, когда я запускаю команду ./configure, но когда я пытаюсь запустить команду 'make', эта ошибка всегда появляется: неопределенная ссылка на `fftw_init_threads '.

команда make:

g551683@sst-p1310007fl:~/Documents/pHash-0.2.9.6$ make
make  all-recursive
make[1]: Entering directory '/home/g551683/Documents/pHash-0.2.9.6'
Making all in src
make[2]: Entering directory '/home/g551683/Documents/pHash-0.2.9.6/src'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/g551683/Documents/pHash-0.2.9.6/src'
Making all in bindings
make[2]: Entering directory '/home/g551683/Documents/pHash-0.2.9.6/bindings'
make[3]: Entering directory '/home/g551683/Documents/pHash-0.2.9.6/bindings'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/g551683/Documents/pHash-0.2.9.6/bindings'
make[2]: Leaving directory '/home/g551683/Documents/pHash-0.2.9.6/bindings'
Making all in examples
make[2]: Entering directory '/home/g551683/Documents/pHash-0.2.9.6/examples'
/bin/sh ../libtool --tag=CXX   --mode=link g++  -O2 -ffast-math -O3  -L/usr/local/lib -lssl -lcrypto -o test_texthash test_texthash.o ../src/libpHash.la -lmpg123 -lsamplerate -lsndfile -lswscale -lavformat -lavutil -lavcodec   -lpng -ljpeg -lfftw3
libtool: link: g++ -O2 -ffast-math -O3 -o .libs/test_texthash test_texthash.o  -L/usr/local/lib ../src/.libs/libpHash.so -lssl -lcrypto /usr/local/lib/libmpg123.so /usr/lib/x86_64-linux-gnu/libltdl.so -ldl /usr/local/lib/libsamplerate.so -lsndfile -lswscale -lavformat -lavutil -lavcodec /usr/local/lib/libpng16.so -lz /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/local/lib/libfftw3.a -lm
test_texthash.o: In function `_GLOBAL__sub_I_main':
test_texthash.cpp:(.text.startup+0x1b1): undefined reference to `fftw_init_threads'
collect2: error: ld returned 1 exit status
Makefile:323: recipe for target 'test_texthash' failed
make[2]: *** [test_texthash] Error 1
make[2]: Leaving directory '/home/g551683/Documents/pHash-0.2.9.6/examples'
Makefile:419: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/g551683/Documents/pHash-0.2.9.6'
Makefile:298: recipe for target 'all' failed
make: *** [all] Error 2

Может кто-нибудь помочь мне решить эту ошибку!

1 Ответ

2 голосов
/ 28 февраля 2020

Из документации :

Во-первых, программы, использующие параллельные комплексные преобразования, должны быть связаны с -lfftw3_threads -lfftw3 -lm на Unix или -lfftw3_omp -lfftw3 -lm, если вы скомпилировали с OpenMP. Вам также нужно будет связываться с любой библиотекой, отвечающей за потоки в вашей системе (например, -lpthread в GNU / Linux), или включать любой флаг компилятора, который включает OpenMP (например, -fopenmp с g cc).

Вы не ссылаетесь ни на эту библиотеку fftw3_threads, ни на библиотеку pthread.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...