今天在升级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查看问题的方法,当然最重要的是避免此类人为操作失误。