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

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

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

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

jf_4uwpxRjJ ? 來源:小草手把手LabVIEW ? 2023-03-07 10:52 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

然而,這位粉絲裝了VC引擎庫,拷貝了很多dll,依舊沒有解決?

就這么算了??

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

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

解決了!

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

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

解決了就好吧。

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

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





審核編輯:劉清

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

    關(guān)注

    0

    文章

    114

    瀏覽量

    45266
  • LabVIEW
    +關(guān)注

    關(guān)注

    1954

    文章

    3647

    瀏覽量

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

    關(guān)注

    0

    文章

    13

    瀏覽量

    4829

原文標(biāo)題:【經(jīng)驗(yà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)用全解析

    )通過外部 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在附件里面)別人寫的很詳細(xì)的labview調(diào)用dll但我按他的方法
    發(fā)表于 04-11 22:50

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

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

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

    我想LabVIEW脫離MATLAB環(huán)境,調(diào)用它的DLL,看了很多文獻(xiàn),說是要重新封裝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)問要如何解決?
    發(fā)表于 12-25 20:39

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

    [問答] 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)用庫函數(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 ?209次下載

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

    介紹了在LabVIEW調(diào)用外部程序代碼的方法。詳細(xì)探討了DLL 文件的調(diào)用方法,并通過實(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資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 03-16 14:49 ?5次下載

    LabVIEW創(chuàng)建DLL

    1、LabVIEW也可以創(chuàng)建DLL 2、調(diào)用規(guī)范說明: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的技巧

    通過共享庫文件共享代碼是業(yè)界最常用的方式。本集介紹了在LabVIEW調(diào)用dll的各種技巧。
    的頭像 發(fā)表于 06-22 14:15 ?5683次閱讀
    <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è)過程及注意事項(xiàng)

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

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

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

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

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