Fortran Coder

查看: 2018|回复: 5
打印 上一主题 下一主题

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

[复制链接]

57

帖子

15

主题

0

精华

熟手

F 币
249 元
贡献
118 点
跳转到指定楼层
楼主
发表于 2023-5-30 23:35:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用Fortran编译了一个DLL,如果没有额外函数可以用VB正常调用
如果在A.DLL里用了函数引用了mkl_lapack95.lib库,再编译出的A.DLL就不能调用,提示找不到A.DLL文件
采用的静态连接库的方式编译。

如果是编译成EXE文件,运行的过程中会提示缺少哪些dll文件,把这些dll文件放入通exe目录即可
但编译dll文件则没有提示
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
沙发
发表于 2023-5-31 13:59:07 | 只看该作者
使用mkl的时候,用串行库,并关闭omp。

57

帖子

15

主题

0

精华

熟手

F 币
249 元
贡献
118 点
板凳
 楼主| 发表于 2023-5-31 22:06:07 | 只看该作者
li913 发表于 2023-5-31 13:59
使用mkl的时候,用串行库,并关闭omp。

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

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

微信截图_20230531210114.png (14.74 KB, 下载次数: 232)

微信截图_20230531210114.png

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
地板
发表于 2023-6-2 10:04:58 | 只看该作者
cqflhl 发表于 2023-5-31 22:06
谢谢,换成并行可以了,关闭OMP没有找到在哪里,但也没有影响,可能默认是关闭的吧

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

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

57

帖子

15

主题

0

精华

熟手

F 币
249 元
贡献
118 点
5#
 楼主| 发表于 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在哪里关闭啊,没有找到

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
6#
发表于 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-12-24 20:39

Powered by Tencent X3.4

© 2013-2024 Tencent

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