今天在升级Qt5.9.1到Qt5.12.4时,环境搭好后编译通过运行时出现上述问题,一般出现此问题都是由于编译链接的静态库和运行时的dll版本不匹配导致,检查了工程属性的附加库目录及附加依赖项,已正确设置新版Qt的路径和链接最新的lib库,最终发现是由于拷贝Qt5Network.dll到运行目录时用的是原先的Qt5.9.1,记录下depends工具发现此问题的方法。
使用depends工具打开生成的exe文件,查看到Qt5Network.dll下依赖的Qt5Core.dll显示异常,右键查看属性Qt5Network.dll是5.9.1的,Qt5Core.dll是5.12.4的,和编译链接的Qt5Network.lib不匹配,替换Qt5Network.dll后运行正常。
仅此记录下依靠depends查看问题的方法,当然最重要的是避免此类人为操作失误。
在从Qt5.9.1升级到Qt5.12.4的过程中,解决因静态库与dll版本不匹配导致的运行错误。通过depends工具发现Qt5Network.dll依赖的Qt5Core.dll版本不符,更换相应dll后问题得以解决。
5686

被折叠的 条评论
为什么被折叠?



