双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题

打包发布开发完成的QT应用程序到别的无Qt开发环境的机器上双击打开运行,结果报了如下提示:

双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题

按字面意思一直以为是缺库或库不对应的问题,折腾一番后实在找不出原因就去逐看代码,结果发现还真是代码问题导致的。

我用的是vs+qt的开发环境,要看应用程序都用到哪些库了可以在vs中点击运行,在输出视图中便可以看到应用程序都在加载调用哪些库了,显示信息如下:

双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题

真正发现问题是通过对比查看正常的和不正常的加载库的情况,追着异常才联想到代码哪里可能出了问题

正常的加载显示如下:

双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题
异常的加载显示如下:

双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题

对比下便发现有报错,这就说明即使在程序能正常运行的情况下,依然可能存在错误:

双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题

问题就在于某些对象或指针在库还未来得及加载的时候就已经创建了

特此记录