NFFT Неопределенная ссылка на функции NNFFT

Поэтому я пытаюсь установить пакет NFFT3 с https://www-user.tu-chemnitz.de/~potts/nfft/.

Казалось, что все в порядке, используя стандартные команды configure, make, make install. Однако я получаю ошибку:

simple_test.o: In function 'simple_test_nnfft_1d':
simple_test.c:(.text+0x44): undefined reference to 'nnfft_init'
simple_test.c:(.text+0xd6): undefined reference to 'nnfft_precompute_one_psi'
simple_test.c:(.text+0x158): undefined reference to 'nnfft_trafo_direct'
simple_test.c:(.text+0x17d): undefined reference to 'nnfft_trafo'
simple_test.c:(.text+0x19d): undefined reference to 'nnfft_finalize'`

Дело в том, что файл simple_test.c для штатного NFFT работает просто отлично. Кто-нибудь знает, как это исправить? Я знаю, что это какая-то проблема с компоновкой, но программное обеспечение настолько велико, что я не могу решить, как ее исправить.

Спасибо

Редактировать: Таким образом, в каталоге kernel / nnfft есть nnfft.c со всеми необходимыми функциями, но по-прежнему нет заголовочного файла. Кто-нибудь знает, где на самом деле находится заголовок с этими объявлениями? Я включил файл nnfft.c вверху тестового кода и получил его для компиляции, но это не помогло с проблемой первоначальной компоновки.

2 ответа

Это потому, что модуль NNFFT не компилируется по умолчанию.

Вы должны добавить опцию --enable-nnfft сделать это при настройке:

./configure --enable-nnfft

Первый забег ldconfig кэшировать библиотеку. Затем запустите GCC с -lnfft3,

Другие вопросы по тегам