ссылка на устаревшую библиотеку: -lgfortranbegin из готового make-файла - PullRequest
0 голосов
/ 26 октября 2018

У меня возникли проблемы при попытке скомпилировать программу, разработанную каким-то исследователем, который должен был очень точно вычислить преобразование Фурье и некоторые другие полезные операции научная статья здесь , тогда как все необходимые файлы и make-файл при условии.

Я использую gcc и версию ubuntu, доступную на windows10 (18.04), поэтому я связал все библиотеки, необходимые для программы, и вызвал предварительно созданный make-файл (fftw, lapack, gfortran ..), пока все в порядке здесь, но как только я попытался скомпилировать, я получил сообщение об ошибке:

/usr/bin/ld: cannot find -lgfortranbegin
collect2: error: ld returned 1 exit status
Makefile:38: recipe for target 'furian_main' failed
make: *** [furian_main] Error 1

После нескольких исследований выяснилось, что libfortranbegin является устаревшим кодом и более недоступен (источник: здесь ) ..

Итак, мой вопрос: могу ли я скомпилировать свою программу без этой устаревшей библиотеки (некоторые люди говорят, что мы можем избавиться от этой библиотеки, но я не понимаю, что они делают .. здесь ) Или я должен сделать какое-нибудь обновление или использовать другую библиотеку?

Спасибо за ваше время и внимание :)

1 Ответ

0 голосов
/ 26 октября 2018

Обычный способ решения этой проблемы следующий:

  • удалить -lgfortranbegin
  • проверьте ошибки новой ссылки и посмотрите, в каком исходном файле из исходного кода реализована эта функция
  • добавьте этот исходный файл в ваш репозиторий и сборку и вернитесь к шагу 2.

Имейте в виду, что в конце концов это может не сработать, но, надеюсь, у вас будут пропущенные символы.

...