我正在Qt 5.6.1中做一个项目。 当我在Qt Creator中运行它时,它运行完美。 但是当我在文件夹中运行它时,它显示:
程序入口点?0QVariant @@ QAE @ ABVQString @@@ Z不能位于DLL Qt5Core.dll中。
我该如何解决?
如果你安装了多个版本的Qt,那么在QtCreator里面,所有的东西都可以正常工作。 直接从build目录运行时,可能会出现在执行过程中使用了另一个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在执行过程中是否使用相同的目录。 要做到这一点,打开你的项目转到项目选项卡,并在构建环境部分显示细节,并检查QTDIR变量是否指向相同的目录找到与依赖的步行者。