【问题标题】:Cannot run Qt C++ release build. 'The procedure entry point could not be located'无法运行 Qt C++ 发布版本。 '找不到程序入口点'
【发布时间】:2017-02-21 08:32:25
【问题描述】:

我正在尝试部署我的 Qt 应用程序并遇到了致命错误。该程序在 Qt 编辑器中运行良好,我可以构建和运行它。在发布模式下构建我的项目并使用 windeployqt.exe 在文件夹中获取正确的 .dll 后,我被视为this error message。我得到了 5 个不同的 Qt .dll 的一个。我找到了一种方法来消除此错误,方法是使用 Qt 工具中的 .dll,而不是在编译器的 bin 目录中找到的那些。但是,我留下了remaining error like this。与前面的错误不同,这里没有引用dll,只有我的程序目录。

到目前为止,我已经使用 2 个编译器进行了尝试。 Qt 提供的,以及我自己的安装。两者都可以看出,都失败了。

【问题讨论】:

  • 看起来您正在使用来自 Qt 构建的 windeployqt.exe,这与您用于构建应用程序的 Qt 构建不同。这就是应用程序在启动时崩溃的原因。
  • 遇到了同样的问题。使用 Qt 5.9 到 Qt 5.10,与 vs2017。仅在发布模式下发生。我不得不将程序所需的 Qt dll 移动到与 .exe 相同的路径中。很奇怪。

标签: c++ qt dll compilation


【解决方案1】:

几年前我刚学QT的时候也遇到过类似的问题。我尝试过的方法是将.exe 生成的文件移动到您复制粘贴dlls 的位置,它就像魅力一样。您复制了错误的dlls(可能)。尝试在谷歌上搜索正确的!

【讨论】:

  • 我可以建议更多的格式和更少的感叹号:P
  • 是的,这工作完美无缺!我从我的 Qt 编译器目录中移动了所有的 dll,然后在堆积如山的 dll 中逐渐消失,直到我发现哪些是必要的。谢谢希瓦姆。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-13
  • 2021-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多