Как сделать: ссылка на библиотеку LAPACK из FORTRAN 95 в Cygwin - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть программа FORTRAN 95, которая должна сделать несколько звонков в библиотеку LAPACK. Недавно я узнал, что Cygwin может установить LAPACK в качестве дополнительной опции.

Ну, LAPACK существует в каталоге / lib / lapack / как "cyglapack.dll". После очень неформального обучения программированию на Фортране, я не знаю, как ссылаться на библиотеку .dll, а не на модуль .mod.

Любые предложения или указания к статьям, отвечающим на мой вопрос, с благодарностью! (П.С. Я сначала поискал ... Не думаю, что знаю правильные термины, чтобы получить полезную статью.)

Ответы [ 2 ]

0 голосов
/ 18 октября 2010

Условия поиска: dynamic linking fortran

Посмотрите на эту страницу:

http://sources.redhat.com/ml/binutils/2001-12/msg00471.html

В нем упоминается использование dlltool для создания файла .a из.dll файл.Предположительно, вы должны иметь возможность ссылаться на него обычным способом (обычно это переключатель lib на команде компиляции).

В противном случае рассмотрите возможность запуска Linux Live CD во избежание проблемы в первом случае.место!Если вы студент или ученый, посмотрите, сможете ли вы найти сервер с установленным Fortran (ИТ-специалисты обычно очень полезны), где вы сможете скомпилировать и запустить свою программу.

0 голосов
/ 24 апреля 2010

Концептуально вызов Lapack должен быть таким же простым, как и вызов любой другой DLL. Вам просто нужно выяснить, какие флаги и операторы ссылок включить в оператор (ы) сборки.

Из Фортрана вы, вероятно, объявите EXTERNAL функции из Лапака, которые вы не собираетесь использовать. Это говорит компилятору не искать поиск функции в ваших источниках или в файле мода, но что определение будет предоставлено во время ссылки. Вот тут-то и начинается самое интересное, так как вы пытаетесь убедиться, что подписи ваших вызовов соответствуют подписям, ожидаемым DLL.

Я мог бы предоставить больше помощи, если вы предоставите больше информации. Какая у вас среда разработки Windows? Какой компилятор Fortran вы используете? Какие инструменты компиляции и компоновки вы используете? Как выглядит ваша текущая ссылка?

...