混用KEYSIGHT-VISA,NI-VISA所引起的程序啟動不正常

現(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)致程序啟動不正常
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容