【发布时间】:2016-11-22 14:36:22
【问题描述】:
我正在 Qt 5.6.1 中制作一个项目。当我在 Qt Creator 中运行它时,它运行良好。但是当我在文件夹中运行它时,它显示:
程序入口点 ??0QVariant@@QAE@ABVQString@@@Z 无法位于 dll Qt5Core.dll 中。
我该如何解决?
【问题讨论】:
我正在 Qt 5.6.1 中制作一个项目。当我在 Qt Creator 中运行它时,它运行良好。但是当我在文件夹中运行它时,它显示:
程序入口点 ??0QVariant@@QAE@ABVQString@@@Z 无法位于 dll Qt5Core.dll 中。
我该如何解决?
【问题讨论】:
如果您安装了多个版本的 Qt,那么在正确设置工具包的 QtCreator 中,一切都可能运行良好。 当您直接从构建目录运行时,可能会发生在执行期间使用的路径中有另一个版本的 Qt。
如果是这种情况,请转到Control Panel > System > Advanced system settings > Advanced tab > Environment Variables。在那里你应该更新Path 变量。在它前面放置可以找到 Qt dll 的路径。例如:C:\Qt\Qt5.6.1\5.6\mingw492_32\bin
如果这对您来说只是一次性的,您可以将所需的 dll 或 dll 复制到可执行文件所在的位置。结果应该是一样的。
编辑:
为确保在您从 Qt Creator 外部运行时加载相同的 dll,您可以使用 Dependency Walker。运行该工具并打开要启动的 exe。然后在左侧窗格中找到并选择QT5CORE.DLL,然后按 alt+enter 以显示属性。验证指定位置是否实际指向 C:\Qt\Qt5.6.1\5.6\mingw49_32\bin,这是您安装 Qt 的位置。
如果正确,您可以仔细检查 Qt Creator 在执行期间是否使用相同的目录。为此,请打开您的项目,转到 Projects 选项卡并在 Build Environment 部分显示详细信息并检查 QTDIR 变量是否指向与 Dependency Walker 找到的相同目录。
【讨论】: