Fortran Coder

查看: 1466|回复: 5

[数学库] DLL文件引用了MKL后发布需要附加哪些文件

[复制链接]

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
发表于 2023-5-30 23:35:16 | 显示全部楼层 |阅读模式
用Fortran编译了一个DLL,如果没有额外函数可以用VB正常调用
如果在A.DLL里用了函数引用了mkl_lapack95.lib库,再编译出的A.DLL就不能调用,提示找不到A.DLL文件
采用的静态连接库的方式编译。

如果是编译成EXE文件,运行的过程中会提示缺少哪些dll文件,把这些dll文件放入通exe目录即可
但编译dll文件则没有提示

790

帖子

2

主题

0

精华

大宗师

F 币
3765 元
贡献
2255 点
发表于 2023-5-31 13:59:07 | 显示全部楼层
使用mkl的时候,用串行库,并关闭omp。

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
 楼主| 发表于 2023-5-31 22:06:07 | 显示全部楼层
li913 发表于 2023-5-31 13:59
使用mkl的时候,用串行库,并关闭omp。

谢谢,换成并行可以了,关闭OMP没有找到在哪里,但也没有影响,可能默认是关闭的吧

还有一个关于exe的问题 比较怪
提示找不到序数
无法定位序数 270 于动态链接库 libiomp5md.dll 上
微信截图_20230531210114.png

790

帖子

2

主题

0

精华

大宗师

F 币
3765 元
贡献
2255 点
发表于 2023-6-2 10:04:58 | 显示全部楼层
cqflhl 发表于 2023-5-31 22:06
谢谢,换成并行可以了,关闭OMP没有找到在哪里,但也没有影响,可能默认是关闭的吧

还有一个关于exe的问 ...

还是之前的解决方案,用串行库,并关闭omp。这是由于omp库的版本差异引起的问题,即编译时用的intel fortran自带的omp,运行时用的 vb的omp。或者你可以把提示中的那个libiomp5md.dll拷贝到主程序目录,这种方法不确定能否管用。

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
 楼主| 发表于 2023-6-5 00:01:46 | 显示全部楼层
li913 发表于 2023-6-2 10:04
还是之前的解决方案,用串行库,并关闭omp。这是由于omp库的版本差异引起的问题,即编译时用的intel fort ...

exe问题已经解决,参加
https://blog.csdn.net/zjqlovell/article/details/47397599

另外OMP在哪里关闭啊,没有找到

790

帖子

2

主题

0

精华

大宗师

F 币
3765 元
贡献
2255 点
发表于 2023-6-5 09:37:06 | 显示全部楼层
cqflhl 发表于 2023-6-5 00:01
exe问题已经解决,参加
https://blog.csdn.net/zjqlovell/article/details/47397599

项目-属性-language
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-3-28 19:09

Powered by Tencent X3.4

© 2013-2024 Tencent

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