LabVIEW调用dll外部依赖出错如何解决?

电子说

1.2w人已加入

描述

前几天分享了置顶窗口API后,有粉丝咨询问题,截图如下:

dll打包出错。而且很奇怪的是,自己电脑没问题,换电脑就不行。

这种由于外部条件变化而引起的问题,一般都要列举多种可能性,一个一个排除。

最重要的成功秘籍是:我自己亲手调试

周末终于有空,远程看了下症状。

dll

网上百度了下,确实很多人问,但是没人回答

动态调用的dll,路径没啥问题,exe路径也正常。发dll给我,我电脑也正常。

不过,凭借我多年经验,凡事都有解决办法。

由于提示外部依赖问题,由于是dll文件,业内有一个查看dll的软件,叫dependency walker,免费的,可以查看依赖(这个粉丝压根不知道有这个工具)

首先用这个软件查看,除了粉丝自己用VS写的dll外,此dll还依赖了其他dll。

所以问题定位在:此dll调用了其他dll。

dll

那么,用C++的朋友肯定就熟悉了。

比如在用QT或MFC写代码时候,总会有些底层依赖,打包发布时候要一同发布,然后放在一个目录下。

就算不用C++,搞汽车电子,用CAN的小伙伴,如果用XX功的,或者盗版XX功的CAN卡,也会遇到这个问题,该驱动根目录下有个一个dll,然后这个dll调用了其他dll,打包时候,都要一起拷贝走。

然而,这位粉丝装了VC引擎库,拷贝了很多dll,依旧没有解决?

就这么算了??

然后我出杀手锏,dll是粉丝自己写的,我看了源码下下VS下的配置,发现生成dll,居然选了Debug。

恩,用Debug不出Bug才怪。赶紧让粉丝换成了Release。

解决了!

那么,为什么一开始粉丝自己电脑没问题,我电脑没问题,而换台电脑就有问题呢?

因为粉丝电脑有VS2019,我电脑有VS2019,粉丝有2019不奇怪,他要用C语言写dll,我电脑反正啥软件都有,反而不适合测试。

解决了就好吧。

虽然解决这问题,好像与LabVIEW无关。

但是你说没有关系吧,其实关系也大。





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分