我已经开发了一个简单的应用程序QT5.0.2在Windows 7极限上。作为编译器,QtCreator使用了MSVC2012_64bit。我不能把我的应用程序移到其他电脑上。它不起作用。Qt应用程序需要我找不到的DLL。依赖关系资源管理器认为找不到下面的.dll。我在哪里能找到他们?为什么这个问题如此之广?所有的人都抱怨说,他们无法得到他们的.exe,这是由Qt开发的,在其他计算机上工作。

EDIT1: BTW当我添加从互联网下载的DCOMP.dll时,未找到的dll比现在多出2-3倍:)
EDIT2:还注意到,在其他计算机(Windows7Home高级版)上,当我双击exe文件时,它会显示它加载,没有效果,没有错误--什么都没有。
发布于 2013-04-24 20:58:03
这是我需要的dll列表,我还复制了C:\Qt\Qt5.0.2\5.0.2\mingw47_32\plugins\platforms文件夹:

就这样对我起作用了。顺便说一句,我使用Windows7终极64x,QT5.0.2用于Windows32位(MinGW 4.7,650 MB)包用于Qt。
编辑:您可能还需要复制QtCreator的.dll,还可能需要有一个名为qt.conf的文件,其内容如下(复制自@Renato应答):
[Paths]
Libraries=./platforms发布于 2013-09-08 13:35:00
只需将包含以下内容的文件qt.conf添加到应用程序dir
[Paths]
Libraries=./platforms然后将您将找到的子dir“平台”复制到同一个app dir中:\Qt\Qt5.1.1\Tools\QtCreator\bin
就这样。
这是因为qtcore.dll是用qt分期付款的内部路径编译的。(我不知道wy !)因为,当应用程序启动时,qt.conf总是由qtcore读取,"platforms“中的库将被包括在内,并且该应用程序对任何主机都有效。
警告: qtcore和平台子dir必须从相同的qt分期付款变成。
英语系的人很抱歉,但解决办法很好。
发布于 2015-09-23 01:17:10
现在Qt (至少是Qt5.2,如果不是更早的话)附带了"windeployqt.exe",当指向您已编译的程序时(如果您像我一样使用它们,作为Quick的“-qmldir/to/QML/files”的附加参数)应该会将所有必需的DLL吐出到您编译的程序当前驻留的同一个目录中。例如,对于我自己来说,在本地构建机器上运行的代码如下:
windeployqt --qmldir C:\Code\AppSource C:\Code\build-msvc2010\release这是与使用QT5.5的$PATH中的Qt \bin目录(或者,我猜是Windows %)使用的,尽管我对5.2和5.3也做了同样的返回。
如果使用MSVC作为编译器,我仍然需要手动复制那些DLL(在我的例子中是msvc2010,所以msvcp100.dll和msvcr100.dll),但是我可能记错了。
https://stackoverflow.com/questions/16198649
复制相似问题