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

现象

  • GUI程序在客户环境下启动不显示窗口,没有内容提示
  • 看进程是活的,像是被什么给阻塞住了
  • 程序依赖于QT库和VISA
  • 首先检查QT库的正常加载
    • 由于不方便拆分出组件 widget,core,gui,network
    • 利用QT自带的例子来验证基本的gui库是否正常
    • 修改安装目录下的qt库名称,如qt5core.dll,看能否提示加载失败
    • 经过上面的操作判定QT库正常
  • 检查VISA库
    • 客户环境下安装了Keysight VISA和NI VISA的实现
    • 初步估计这两个库是不兼容的


      image.png

      image.png
    • 两个版本的大小有区别,Keysight的小,可能是因为Keysight中的实现只是一个包装器,真正的实现在另外的地方
    • 用depends打开查看符号表信息


      image.png

结论

  • NI-VISA和KEYSIGHT-VISA的实现不是二进制兼容的
  • 直接进行替换混用会导致程序启动不正常
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容