Fortran Coder

标题: DLL文件引用了MKL后发布需要附加哪些文件 [打印本页]

作者: cqflhl    时间: 2023-5-30 23:35
标题: DLL文件引用了MKL后发布需要附加哪些文件
用Fortran编译了一个DLL,如果没有额外函数可以用VB正常调用
如果在A.DLL里用了函数引用了mkl_lapack95.lib库,再编译出的A.DLL就不能调用,提示找不到A.DLL文件
采用的静态连接库的方式编译。

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

作者: li913    时间: 2023-5-31 13:59
使用mkl的时候,用串行库,并关闭omp。
作者: cqflhl    时间: 2023-5-31 22:06
li913 发表于 2023-5-31 13:59
使用mkl的时候,用串行库,并关闭omp。

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

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

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

微信截图_20230531210114.png

作者: li913    时间: 2023-6-2 10:04
cqflhl 发表于 2023-5-31 22:06
谢谢,换成并行可以了,关闭OMP没有找到在哪里,但也没有影响,可能默认是关闭的吧

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

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

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

另外OMP在哪里关闭啊,没有找到
作者: li913    时间: 2023-6-5 09:37
cqflhl 发表于 2023-6-5 00:01
exe问题已经解决,参加
https://blog.csdn.net/zjqlovell/article/details/47397599

项目-属性-language




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2