C#调用QT编写的dll报“试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)“的原因及解决办法

64 篇文章 10 订阅
22 篇文章 2 订阅
文章讲述了在使用Qt编写DLL时遇到的加载错误,以及如何检查VS编译器的平台设置,确保C#程序与Qt库的正确对接。着重提到在系统环境变量中添加Qt和MinGW路径的重要性,以及C#项目中可能需要调整的平台和目标平台配置问题。
摘要由CSDN通过智能技术生成

注意:先用dll查看器查看下qt的dll是否能显示接口函数(排除dll本身错误)。

未知状况:有时vs编译器本身调用平台配置都正确但就是提示加载格式错误,但输出文件的exe能正常加载dll运行,后关了vs重新再打开就正常了,莫名其的的问题。

1.qt编写的dll需要引用qt本身的库,需要引用编译库,所以需要在系统环境变量中加入如下

将Qt的bin目录,和MinGW的bin目录,添加到系统Path环境变量中,我的是下面这样的,请根据自己的安装目录设置。

D:\learn\Qt\Qt5.10.0\5.10.0\mingw53_32\bin 和 D:\learn\Qt\Qt5.10.0\Tools\mingw530_32\bin

2.C#的程序需要设定正确的平台和目标平台及项目配置,否则32位或64位的程序对应了错误位数的dll(有时可能需要多试几次平台和目标平台的不同组合配置才行,因为会出现编译器报错但输出的exe文件就能直接运行的问题)。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值