一、关于运行程序出现报错的原因
在打包qt项目后运行exe文件时出现以下报错
同样在运行Release下的exe程序也出现了一样的报错。
通过在网上查找资料发现是因为在环境变量中为qt配置了多个编译器的路径导致的
在通过.pro文件运行时,qt会根据不同的编译器自动选择bin目录,但是如果直接双击运行exe文件,则系统会在path下找第一个编译器的bin目录来运行(直接在桌面cmd 运行windeployqt打包程序也是同理,会让程序连接到第一个bin目录的动态库),这样就会导致链接到错误的库出现报错。
解决方法:
将需要用到的编译器的bin目录上移(这个网上挺多相关资料的)
彻底解决Qt报错:无法定位程序输入点于动态链接库_qt无法定位程序输入点于动态链接库-优快云博客https://blog.youkuaiyun.com/qq_41709234/article/details/123410055二、应该如何使用windeployqt打包程序
对于使用windeployqt打包程序,稍不注意可能就会使用与项目不匹配的编译器,因此在使用windeployqt打包时,可以先进入对应编译器的bin目录下再打包(不要直接桌面cmd然后打包,这样只会使用环境变量下第一个qt编译器的bin目录)
可以看到在不同的编译器下有windeployqt.exe
在对应自己项目使用的编译器下执行windeployqt命令来打包。