Fortran Coder

查看: 1779|回复: 3

[混编] VB6无法调用VS19+oneAPI编译的DLL

[复制链接]

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
发表于 2023-5-2 20:05:27 | 显示全部楼层 |阅读模式
虽然VB6比较老了, 但可以调用CVF编译的DLL, 也可以调用VS2010+XE2013编译的DLL
现在换成VS2019+oneAPI编译的DLL就提示DLL文件无法找到

VS2010+XE2013环境下如果提示找不到DLL, 用Depends.exe可以找到依托的DLL, 放到同路径下就OK
但在VS2019+oneAPI环境下, 用Depends.exe完全找不到依托的DLL

请教各位大神, 出现这种问题的原始是什么呢, 有无可能解决?


VS19+oneAPI

VS19+oneAPI

VS10+XE13

VS10+XE13

818

帖子

2

主题

0

精华

大宗师

F 币
3858 元
贡献
2299 点
发表于 2023-5-3 11:07:27 | 显示全部楼层
看看错误提示

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
 楼主| 发表于 2023-5-3 11:14:21 | 显示全部楼层

错误提示就是VB弹出提示框<xxx.dll>找不到文件.
我大概发现了原因, WIN32平台下编译的DLL可以被VB6调用, X64的不行, 但还没有找到解决办法.
因为VB6本身就是32平台的, 或许真的无解

PS, 我的oneAPI安装好以后, 在mkl的子路径下面的include和lib文件夹都只有intel64的, 没有IA32的, 但我看网上的安装视频里是有的, 不知道是什么原因?

818

帖子

2

主题

0

精华

大宗师

F 币
3858 元
贡献
2299 点
发表于 2023-5-4 07:51:53 | 显示全部楼层
cqflhl 发表于 2023-5-3 11:14
错误提示就是VB弹出提示框找不到文件.
我大概发现了原因, WIN32平台下编译的DLL可以被VB6调用, X64的不行 ...

1、32位exe只能调用32位dll;
2、目前oneapi不再提供32位mkl库,你可以自行下载安装32位mkl。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-6-19 19:51

Powered by Tencent X3.4

© 2013-2024 Tencent

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