bug解决:QT直接执行exe时显示无法定位程序输入点eventFilter@QAbstractItemView@@MEAA_NPEAVQObject@@PEAVQEvent@@@于动态链接库


问题描述:

  编写的程序在IDE中可以成功生成debug和release版本,但是在直接打开exe时报错。已知所有第三方的库均已拷贝到当前目录下。

 

 

 

问题排查:

  1、一开始怀疑是犹豫程序中同时用到了两个版本opencv库,导致程序无法定位入口。后来在别的机器上可以生成也可以正常打开。初步判断是Qt本身的库版本混乱的问题。

  2、将环境变量中所有qt相关的路径全部删除,单独拿出exe文件进行windeployqt部署,命令行显示在“d:\ProgramData\Anaconda3\Library\bin”下无法找到Qt5widget等一系列qt库。

  破案了,qt库被定位到了Anaconda3的运行库位置,而Anaconda3的QT版本与QTCreator版本不一致,所以出现了两个版本的dll,导致程序混淆。

问题解决:

  将所使用版本的QT库的路径移动到环境变量最上方,即可解决问题。(图中msvc2015_64)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM