我构建了一个项目,当我在Qt中执行时,它完全正常。但是当我在项目的release文件夹中使用.exe文件执行它时,它会给我带来大量错误。
这是错误的屏幕截图:
我已经在文件夹和插件文件夹中添加了所有DLL。
答案 0 :(得分:0)
路径中缺少dll。将正确的dir添加到环境变量或将缺少的dll复制到.exe
目标。
您可以查看Qt Error : Procedure Entry Not Found以获取有关如何设置环境变量以解决问题的详细信息。
答案 1 :(得分:0)
如果要在Qt Creator(或Qt命令提示符)之外运行,则应该部署应用程序。这意味着,将.exe及其所需的所有库放在同一个文件夹中(这样您就不必编辑系统PATH,这是另一种允许它找到.DLL文件的方法,但这很容易导致所谓的.DLL地狱,你不想去那里)。
要在Windows上正确部署Qt应用,请阅读此document page。特别是,您需要使用 windeployqt 工具。
答案 2 :(得分:0)
Qt Creator为你的会话添加了所需的PATH环境,PATH变量用于查找dll和可执行文件,问题是Qt Creator只修改了它所拥有的会话的环境变量而不是全局。 您可以在运行设置选项卡中查看Qt Creator自己的环境变量:
找到PATH环境变量并确保所有逗号(;)分隔的路径都在系统PATH环境变量中,或者您可以将Qt生成的PATH变量替换为系统PATH环境变量。
答案 3 :(得分:0)
你可能在复制的dll版本中犯了一个错误。 如果您使用Qt 5.6编译了应用程序,那么从Qt5.6安装目录和编译器获取dll。 另外,请确保您没有从QtCreator目录中获取它们。