Так что у меня возникли небольшие проблемы с библиотекой с Фортрана в Си. Теперь, прежде чем я попаду в проблему, я могу сказать вам, что я не могу использовать g2c, как предлагали некоторые форумы.
Теперь к проблеме. Когда я пытаюсь скомпилировать очень большой проект, я получаю следующее:
[from the makefile...] g++ -L [~200 dirs] -l [~200 libs] -lf2c
/usr/lib/libf2c.so: undefined reference to 'MAIN__'
collect2: ld returned 1 exit status
make: *** [all] Error 1
Теперь я проверил мой каталог /usr/lib
и обнаружил следующее:
$ locate libf2c
/usr/lib/libf2c.so
/usr/lib/libf2c.so.0
/usr/lib/libf2c.so.0.22
Так что, по крайней мере, оно есть. Я использовал Google, который сказал мне, что ввод ...
sudo rm /usr/lib/libf2c.so && sudo ln -s /usr/lib/libf2c.a /usr/lib/libf2c.so
... помогло бы. Кое-что о старости библиотеки означает, что gcc больше не ссылается на нее и пытается найти основной метод там, где его нет. Я так и сделал. Однако после того, как я связался с библиотекой .a, g ++ теперь вообще не может найти библиотеку.
g++ -L [~200 dirs] -l [~200 libs] -lf2c
/usr/bin/ld: cannot find -lf2c
collect2: ld returned 1 exit status
make: *** [all] Error 1
Итак, по сути, я пошел назад. У кого-нибудь есть идеи относительно того, куда я должен идти отсюда?
РЕДАКТИРОВАТЬ: Так что я думаю, что я понял это. Я последовал за этим , чтобы переустановить библиотеки. Теперь он волшебным образом не жалуется на то, что фортрана не существует. Спасибо за вашу помощь, ребята.