Fortran Coder

查看: 3113|回复: 10
打印 上一主题 下一主题

[数学库] lapack库

[复制链接]

48

帖子

15

主题

0

精华

熟手

F 币
179 元
贡献
104 点
跳转到指定楼层
楼主
发表于 2023-4-7 21:51:01 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
上次的问题未能得到完全的解决。我现在想调用lapack库中的zgetrf及zgetri函数,但是我下载的库解压后并没有.lib文件,导致无法链接。所以我要先编译lapack库,但是下载的库版本是.f格式的,我用的是.f90格式,在此情况下,请问要怎么做才能链接到lapack库呢?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

48

帖子

15

主题

0

精华

熟手

F 币
179 元
贡献
104 点
沙发
 楼主| 发表于 2023-4-8 14:08:57 | 显示全部楼层
li913 发表于 2023-4-8 11:32
intel oneapi 里面有mkl库,mkl包含lapack。

十分感谢您的回答,但是有个疑惑,但是下载lapack库和下载intel oneapi有什么不同吗?intel oneapi在调用时更方便?

48

帖子

15

主题

0

精华

熟手

F 币
179 元
贡献
104 点
板凳
 楼主| 发表于 2023-4-8 14:38:50 | 显示全部楼层
楚香饭 发表于 2023-4-8 13:08
没有丝毫影响。

.f (固定格式)和 .f90(自由格式),不能在同一个源代码文件中混用。

感谢您的解答, 问题在于我在使用makefile文件时,编辑了
FC = "E:\CodeBlocks\MinGW\bin\gfortran"

OBJ = main.o  zgetrf2.o

FFLAGS = -O -fdefault-real-8 -mcmodel=large
#FFLAGS = -O

ecsie.x: $(OBJ)
        $(FC) $(FFLAGS) $(OBJ) -o ecsie.x

main.o: main.f90
   
zgetrf2.o: zgetrf2.f
报错gfortran.exe: error: inverse.o: No such file or directory
目录下是有main.f90文件的,为什么的能够得到zgetrf.o文件,得不到main.o文件呢?

48

帖子

15

主题

0

精华

熟手

F 币
179 元
贡献
104 点
地板
 楼主| 发表于 2023-4-8 17:22:52 | 显示全部楼层
楚香饭 发表于 2023-4-8 17:00
我也不知道为什么,你需要提供你的 main.f90 文件的内容,其他人才能判断原因。

此外,我建议你一步一个 ...

“通常的做法是把 lapack 整体先编译成 lib 文件,然后再整体使用”,就是这一步我卡了很久,我的目的就是得到lapack.lib文件,但是我不会操作

48

帖子

15

主题

0

精华

熟手

F 币
179 元
贡献
104 点
5#
 楼主| 发表于 2023-4-8 20:19:29 | 显示全部楼层
楚香饭 发表于 2023-4-8 17:38
你有Code::Blocks的话应该是非常简单的,创建一个lib库文件的工程,把所有 *.f 文件添加到工程,然后编译 ...

但是库里的文件是.f(fortran77)格式的,我创建的文件格式都是.f90(fortran90)文件的,把.f文件copy过来,格式不是兼容的,这个要怎么解决呢?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-5 18:15

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表