0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LabVIEW調(diào)用dll外部依賴出錯(cuò)如何解決?

jf_4uwpxRjJ ? 來(lái)源:小草手把手LabVIEW ? 2023-03-07 10:52 ? 次閱讀

前幾天分享了置頂窗口API后,有粉絲咨詢問(wèn)題,截圖如下:

dll打包出錯(cuò)。而且很奇怪的是,自己電腦沒(méi)問(wèn)題,換電腦就不行。

這種由于外部條件變化而引起的問(wèn)題,一般都要列舉多種可能性,一個(gè)一個(gè)排除。

最重要的成功秘籍是:我自己親手調(diào)試。

周末終于有空,遠(yuǎn)程看了下癥狀。

09257c3a-bc47-11ed-bfe3-dac502259ad0.jpg

網(wǎng)上百度了下,確實(shí)很多人問(wèn),但是沒(méi)人回答。

動(dòng)態(tài)調(diào)用的dll,路徑?jīng)]啥問(wèn)題,exe路徑也正常。發(fā)dll給我,我電腦也正常。

不過(guò),憑借我多年經(jīng)驗(yàn),凡事都有解決辦法。

由于提示外部依賴問(wèn)題,由于是dll文件,業(yè)內(nèi)有一個(gè)查看dll的軟件,叫dependency walker,免費(fèi)的,可以查看依賴(這個(gè)粉絲壓根不知道有這個(gè)工具)

首先用這個(gè)軟件查看,除了粉絲自己用VS寫(xiě)的dll外,此dll還依賴了其他dll。

所以問(wèn)題定位在:此dll調(diào)用了其他dll。

09924270-bc47-11ed-bfe3-dac502259ad0.png

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

比如在用QT或MFC寫(xiě)代碼時(shí)候,總會(huì)有些底層依賴,打包發(fā)布時(shí)候要一同發(fā)布,然后放在一個(gè)目錄下。

就算不用C++,搞汽車(chē)電子,用CAN的小伙伴,如果用XX功的,或者盜版XX功的CAN卡,也會(huì)遇到這個(gè)問(wèn)題,該驅(qū)動(dòng)根目錄下有個(gè)一個(gè)dll,然后這個(gè)dll調(diào)用了其他dll,打包時(shí)候,都要一起拷貝走。

然而,這位粉絲裝了VC引擎庫(kù),拷貝了很多dll,依舊沒(méi)有解決?

就這么算了??

然后我出殺手锏,dll是粉絲自己寫(xiě)的,我看了源碼下下VS下的配置,發(fā)現(xiàn)生成dll,居然選了Debug。

恩,用Debug不出Bug才怪。趕緊讓粉絲換成了Release。

解決了!

那么,為什么一開(kāi)始粉絲自己電腦沒(méi)問(wèn)題,我電腦沒(méi)問(wèn)題,而換臺(tái)電腦就有問(wèn)題呢?

因?yàn)榉劢z電腦有VS2019,我電腦有VS2019,粉絲有2019不奇怪,他要用C語(yǔ)言寫(xiě)dll,我電腦反正啥軟件都有,反而不適合測(cè)試。

解決了就好吧。

雖然解決這問(wèn)題,好像與LabVIEW無(wú)關(guān)。

但是你說(shuō)沒(méi)有關(guān)系吧,其實(shí)關(guān)系也大。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dll
    dll
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    45459
  • LabVIEW
    +關(guān)注

    關(guān)注

    1974

    文章

    3656

    瀏覽量

    324555
  • API串口
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    4858

原文標(biāo)題:【經(jīng)驗(yàn)分享】粉絲提問(wèn):LabVIEW調(diào)用dll外部依賴出錯(cuò)

文章出處:【微信號(hào):小草手把手LabVIEW,微信公眾號(hào):小草手把手LabVIEW】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview教程如何調(diào)用DLL-DLL調(diào)用全解析

    )通過(guò)外部 IDE (如VC++)創(chuàng)建DLL 項(xiàng)目并編譯生成.dll文件。 d)在 LabVIEW 項(xiàng)目中使用 DLL 中的函數(shù)。 以下章節(jié)
    發(fā)表于 10-27 11:20

    labview調(diào)用dll

    我是按照pdf的方法調(diào)用DLL(pdf在附件里面)別人寫(xiě)的很詳細(xì)的labview調(diào)用dll但我按他的方法
    發(fā)表于 04-11 22:50

    labvIEW調(diào)用DLL時(shí)出錯(cuò)

    用matlab在C++ Shared Library下生成DLL文件,如下圖;用labvIEW調(diào)用下一步頭文件中無(wú)法找到或識(shí)別函數(shù)這是哪塊的問(wèn)題啊?
    發(fā)表于 11-28 16:25

    LabVIEW調(diào)用MATLAB生成的DLL問(wèn)題

    我想LabVIEW脫離MATLAB環(huán)境,調(diào)用它的DLL,看了很多文獻(xiàn),說(shuō)是要重新封裝DLL,但是一運(yùn)行就出錯(cuò),我想?yún)⒖家粋€(gè)例子,謝謝了
    發(fā)表于 12-28 22:13

    【求助】LabVIEW調(diào)用C#的dll出錯(cuò)

    構(gòu)造器調(diào)用dll的時(shí)候提示“System.InvalidOperationException: 調(diào)用線程必須為 STA,因?yàn)樵S多 UI 組件都需要”。請(qǐng)問(wèn)要如何解決?
    發(fā)表于 12-25 20:39

    labview 調(diào)用DLL節(jié)點(diǎn)出錯(cuò)

    [問(wèn)答] labview 調(diào)用DLL節(jié)點(diǎn)出錯(cuò)提示 錯(cuò)誤1517labview :(Hex 0x5ED)調(diào)
    發(fā)表于 11-12 18:39

    labview Dll 調(diào)用

    `labview生成的Dll,用labview調(diào)用,報(bào)錯(cuò)調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)調(diào)用
    發(fā)表于 10-13 21:42

    LabVIEW調(diào)用DLL的高級(jí)技巧后續(xù)資源包

    1、LabVIEW調(diào)用DLL的高級(jí)技巧2、.NET InteropAssembly Builder3、LabVIEW機(jī)器人版
    發(fā)表于 07-01 08:28 ?210次下載

    調(diào)用DLL實(shí)現(xiàn)LabVIEW數(shù)據(jù)采集

    介紹了在LabVIEW調(diào)用外部程序代碼的方法。詳細(xì)探討了DLL 文件的調(diào)用方法,并通過(guò)實(shí)例介紹了基于非NI 公司的數(shù)據(jù)采集卡的數(shù)據(jù)采集的
    發(fā)表于 03-26 15:30 ?154次下載
    <b class='flag-5'>調(diào)用</b><b class='flag-5'>DLL</b>實(shí)現(xiàn)<b class='flag-5'>LabVIEW</b>數(shù)據(jù)采集

    Delphi教程_從外部DLL調(diào)用子窗口

    Delphi教程從外部DLL調(diào)用子窗口,很好的Delphi資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 03-16 14:49 ?5次下載

    LabVIEW創(chuàng)建DLL

    1、LabVIEW也可以創(chuàng)建DLL 2、調(diào)用規(guī)范說(shuō)明:C調(diào)用規(guī)范時(shí),調(diào)用方負(fù)責(zé)清空堆棧。使用標(biāo)準(zhǔn)調(diào)用
    發(fā)表于 12-04 10:52 ?0次下載

    LabVIEW網(wǎng)絡(luò)講壇第四季:在LabVIEW調(diào)用DLL的技巧

    通過(guò)共享庫(kù)文件共享代碼是業(yè)界最常用的方式。本集介紹了在LabVIEW調(diào)用dll的各種技巧。
    的頭像 發(fā)表于 06-22 14:15 ?5904次閱讀
    <b class='flag-5'>LabVIEW</b>網(wǎng)絡(luò)講壇第四季:在<b class='flag-5'>LabVIEW</b>中<b class='flag-5'>調(diào)用</b><b class='flag-5'>DLL</b>的技巧

    LabVIEW調(diào)用DLL的整個(gè)過(guò)程及注意事項(xiàng)

    LabVIEW調(diào)用DLL的整個(gè)過(guò)程及注意事項(xiàng)說(shuō)明。
    發(fā)表于 05-25 15:10 ?120次下載

    LABVIEW調(diào)用C# DLL的實(shí)例分享

    LABVIEW調(diào)用C# DLL的實(shí)例分享
    發(fā)表于 01-04 11:20 ?106次下載

    如何使用TSMaster調(diào)用外部DLL/LIB程序

    調(diào)用外部DLL/LIB程序在用戶自定義開(kāi)發(fā)過(guò)程中,常常會(huì)遇到需要調(diào)用外部DLL/LIB程序文件的
    的頭像 發(fā)表于 08-16 09:36 ?1435次閱讀
    如何使用TSMaster<b class='flag-5'>調(diào)用</b><b class='flag-5'>外部</b><b class='flag-5'>DLL</b>/LIB程序