前幾天分享了置頂窗口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寫(xiě)的dll外,此dll還依賴了其他dll。
所以問(wèn)題定位在:此dll調(diào)用了其他dll。
那么,用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)系也大。
審核編輯:劉清
-
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)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論