昨晚在打包项目的时候,在自己电脑上运行OK,在别人电脑就运行不起来,忙活了好久才找到原因。
按照正常Qt打包流程操作:
假设程序名为:app.exe
1.Release模式生成项目文件夹;
2.新建一个文件夹,把Release文件夹下的app.exe拷贝过来。
3.打开Qt自带的windeployqt工具(在系统开始里面能找到),切换到app.exe所在路径下,运行:windeployqt app.exe,会自动生成app.exe需要的Qt的依赖库文件。
4.使用Dependencies.exe工具,查看app.exe还需要的依赖库文件(直接拖进去就好),全拷贝过去,至此,正常打包流程完成。
我在完成以上工作后,把app.exe运行文件夹拷贝到别人电脑上,双击程序啥也没有,用工具查看到是:插件coreplugins.dll找不到指定模块,但是另外的插件都加载正常。后来还是用Dependencies.exe工具,把coreplugins.dll插件拖进去,查看依赖的库也是齐全的,当时一度郁闷了,后来和别的插件对比,定位到差异,然后再排插coreplugin.dll中使用的hidapi.dll库,至此,才发现,原来是hidapi.dll库的依赖少了,把缺少的拷贝到app.exe目录下,终于可以正常运行了,哎,特此记录下把,很郁闷