現(xiàn)象
- GUI程序在客戶環(huán)境下啟動不顯示窗口,沒有內(nèi)容提示
- 看進程是活的,像是被什么給阻塞住了
- 程序依賴于QT庫和VISA
- 首先檢查QT庫的正常加載
- 由于不方便拆分出組件 widget,core,gui,network
- 利用QT自帶的例子來驗證基本的gui庫是否正常
- 修改安裝目錄下的qt庫名稱,如qt5core.dll,看能否提示加載失敗
- 經(jīng)過上面的操作判定QT庫正常
- 檢查VISA庫
- 客戶環(huán)境下安裝了Keysight VISA和NI VISA的實現(xiàn)
-
初步估計這兩個庫是不兼容的
image.png
image.png - 兩個版本的大小有區(qū)別,Keysight的小,可能是因為Keysight中的實現(xiàn)只是一個包裝器,真正的實現(xiàn)在另外的地方
-
用depends打開查看符號表信息
image.png
結(jié)論
- NI-VISA和KEYSIGHT-VISA的實現(xiàn)不是二進制兼容的
- 直接進行替換混用會導(dǎo)致程序啟動不正常


