【问题标题】:MinGW gfortran LAPACK dgsevMinGW gfortran LAPACK dgsev
【发布时间】:2015-03-30 14:36:58
【问题描述】:

我想在我的 fortran 代码中使用 LAPACK 库。我正在使用 gfortran 进行编译,并想从 lapack 库中调用 dgesv 函数。

我下载了 lapack3.5.0 并使用 Cmake 构建它,它也对其进行了测试。 lapack3.5.0 的构建创建了以下库:libblas.a、liblapack.a、libtmglib.a

我正在使用 make 文件使用 gfortran 编译我的代码。

如何将这些库与 gfortran 编译器一起使用,我在编译时收到 dgsev 未定义的错误。我已将这些库的路径添加到系统路径中。

我不知道如何在 gfortran 中使用外部库。

【问题讨论】:

    标签: gfortran lapack


    【解决方案1】:

    您必须使用gfortran 链接器的-L 选项。使用它,您将指示编译器在此路径中查找库。

    例如:

    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)
    

    无需在系统路径中添加任何内容。

    【讨论】:

    • 这行得通,谢谢。你能帮我把它添加到我的make文件中吗?我有几个使用 make 文件编译的子例程。我的 make 文件有库 XLIBS = -L/usr/X11R6/lib64 -lX11 -lpthread GLIBS = -L/usr/X11R6/lib64 -lGLU -lGL -lX11 -lXext -lpthread 如何将这些库添加到我的 make 文件中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 2021-09-25
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多