前幾天分享了置頂窗口API后,有粉絲咨詢問(wèn)題,截圖如下:
dll打包出錯(cuò)。而且很奇怪的是,自己電腦沒(méi)問(wèn)題,換電腦就不行。
這種由于外部條件變化而引起的問(wèn)題,一般都要列舉多種可能性,一個(gè)一個(gè)排除。
最重要的成功秘籍是:我自己親手調(diào)試。
周末終于有空,遠(yuǎn)程看了下癥狀。
網(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寫的dll外,此dll還依賴了其他dll。
所以問(wèn)題定位在:此dll調(diào)用了其他dll。
那么,用C++的朋友肯定就熟悉了。
比如在用QT或MFC寫代碼時(shí)候,總會(huì)有些底層依賴,打包發(fā)布時(shí)候要一同發(fā)布,然后放在一個(gè)目錄下。
就算不用C++,搞汽車電子,用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是粉絲自己寫的,我看了源碼下下VS下的配置,發(fā)現(xiàn)生成dll,居然選了Debug。
恩,用Debug不出Bug才怪。趕緊讓粉絲換成了Release。
解決了!
那么,為什么一開始粉絲自己電腦沒(méi)問(wèn)題,我電腦沒(méi)問(wèn)題,而換臺(tái)電腦就有問(wèn)題呢?
因?yàn)榉劢z電腦有VS2019,我電腦有VS2019,粉絲有2019不奇怪,他要用C語(yǔ)言寫dll,我電腦反正啥軟件都有,反而不適合測(cè)試。
解決了就好吧。
雖然解決這問(wèn)題,好像與LabVIEW無(wú)關(guān)。
但是你說(shuō)沒(méi)有關(guān)系吧,其實(shí)關(guān)系也大。
審核編輯:劉清
-
dll
+關(guān)注
關(guān)注
0文章
116瀏覽量
45577 -
LabVIEW
+關(guān)注
關(guān)注
1977文章
3657瀏覽量
325987 -
API串口
+關(guān)注
關(guān)注
0文章
13瀏覽量
4863
原文標(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)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
labview教程如何調(diào)用DLL-DLL調(diào)用全解析
labview中調(diào)用dll
labvIEW調(diào)用DLL時(shí)出錯(cuò)啦
LabVIEW調(diào)用MATLAB生成的DLL問(wèn)題
【求助】LabVIEW調(diào)用C#的dll出錯(cuò)
labview 調(diào)用DLL節(jié)點(diǎn)出錯(cuò)
labview Dll 調(diào)用
LabVIEW中調(diào)用DLL的高級(jí)技巧后續(xù)資源包
調(diào)用DLL實(shí)現(xiàn)LabVIEW數(shù)據(jù)采集
![<b class='flag-5'>調(diào)用</b><b class='flag-5'>DLL</b>實(shí)現(xiàn)<b class='flag-5'>LabVIEW</b>數(shù)據(jù)采集](https://file.elecfans.com/web2/M00/49/54/pYYBAGKhtEaABHNBAAAShq-JeYk019.jpg)
Delphi教程_從外部DLL中調(diào)用子窗口
LabVIEW創(chuàng)建DLL
LabVIEW網(wǎng)絡(luò)講壇第四季:在LabVIEW中調(diào)用DLL的技巧
![<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>的技巧](https://file.elecfans.com/web1/M00/53/27/pIYBAFseFFmAYyKyAAAo4rUSvrQ049.jpg)
LabVIEW中調(diào)用DLL的整個(gè)過(guò)程及注意事項(xiàng)
如何使用TSMaster調(diào)用外部DLL/LIB程序
![如何使用TSMaster<b class='flag-5'>調(diào)用</b><b class='flag-5'>外部</b><b class='flag-5'>DLL</b>/LIB程序](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
評(píng)論