2015-03-30 2 views
0

Я хочу использовать библиотеку LAPACK в моем fortran-коде. Я компилирую с помощью gfortran и хочу вызвать функцию dgesv из библиотеки lapack.MinGW gfortran LAPACK dgsev

Я загрузил lapack3.5.0 и построил его с помощью Cmake, который также проверяет его. В сборке для lapack3.5.0 были созданы следующие библиотеки: libblas.a, liblapack.a, libtmglib.a

Я использую файл make для компиляции моего кода с помощью gfortran.

Как использовать эти библиотеки с компилятором gfortran, я получаю ошибку dgsev, которая не определена при компиляции. Я добавил путь к этим библиотекам к системному пути.

У меня нет понятия, что делать, чтобы использовать внешние библиотеки в gfortran.

ответ

2

Вы должны использовать -L вариант gfortran компоновщика. Используя это, вы укажете компилятору на поиск библиотек в этом пути.

Например:

gfortran test.f -L/path/to/libs -llapack -lblas 

Если у вас есть дополнительные библиотеки, вы можете установить, как этот

LLIBS = -L/path/to/libs -llapack -lblas 
XLIBS = -L/usr/X11R6/lib64 -lX11 -lpthread 
GLIBS = -L/usr/X11R6/lib64 -lGLU -lGL -lX11 -lXext -lpthread 
OBJS = test.o 
gfortran $(OBJS) $(LLIBS) $(XLIBS) $(GLIBS) 

Там нет необходимости добавлять что-либо к системному пути.

+0

Это работает, спасибо. Не могли бы вы также помочь мне, как добавить его в мой файл. У меня есть несколько подпрограмм, которые я компилирую с использованием файла make. Мой файл make имеет библиотеки 'XLIBS = -L/usr/X11R6/lib64 -lX11 -lpthread' 'GLIBS = -L/usr/X11R6/lib64 -lGLU -lGL -lX11 -lXext -lpthread' как я могу добавить эти библиотеки в мой файл? –

Смежные вопросы