如何在其他计算机上运行Qt 5应用程序(Windows 7)

我在Windows 7旗舰版上开发了一个简单的Qt 5.0.2应用程序。 作为一个编译器,QtCreator使用了MSVC2012_64bit。 而且我无法将我的应用程序移动到其他计算机上。 这是行不通的。 Qt应用程序需要我无法find的DLL。 依赖资源pipe理器认为下面的.dll没有find。 我在哪里可以find他们? 为什么这个问题如此广泛地传播? 所有的人都抱怨说,他们不能让他们用Qt开发的.exe工作在其他电脑上。 在这里输入图像说明

编辑1:顺便说一句,当我添加从互联网上下载DCOMP.dll ,没有发现的DLL成为现在的2-3倍多:)

编辑2:另外请注意,在其他电脑(Windows 7家庭高级版),当我双击exe文件,它表明它loades和没有影响,没有任何错误什么都没有。

这是我需要的DLL的列表,我也复制了C:\Qt\Qt5.0.2\5.0.2\mingw47_32\plugins\platforms文件夹:

在这里输入图像说明

只是这个,它为我工作。 顺便说一下,我使用Windows 7旗舰版64x和Qt 5.0.2的Windows 32位(MinGW 4.7,650 MB)的Qt包。

编辑:您可能还需要QtCreator的.dll复制,也可能需要有一个名为qt.conf文件与以下内容(从@Renato答案复制):

 [Paths] Libraries=./platforms 

只需将文件qt.conf添加到您的应用程序目录中以下内容

 [Paths] Libraries=./platforms 

然后复制到相同的应用程序目录,你会发现到目录的子目录“平台”C:\ Qt \ Qt5.1.1 \ Tools \ QtCreator \ bin

就这样。

这可以解决因为qtcore.dll编译与您的qt instalation的内部路径。 (我不知道嗨!)。 因为,当应用程序启动“平台”中的图书馆时,qt.conf将被qtcore全部读取,并且该应用程序可以在任何主机上运行。

警告:qtcore和平台子目录必须从相同的qt instalation成为。

对不起,英文,但解决方案正常工作。

Qt这些天(至少Qt 5.2,如果不是更早的话)会附带“windeployqt.exe”,当你指向你编译的程序时(如果你像我一样使用它们,作为附加参数) QM Quick程序的qmldir path / to / QML / files)应该将所有需要的DLL吐出到你编译的程序当前驻留的同一目录中。 所以,对于我自己在本地的构建机器上,我跑了一些东西:

  windeployqt --qmldir C:\Code\AppSource C:\Code\build-msvc2010\release 

这是与我的$ PATH Qt \ bin目录(或者,我猜是用Windows的说法,%路径%;))使用Qt 5.5,虽然我已经做了5.2和5.3一样。

IIRC如果使用MSVC作为编译器我仍然需要手动复制这些DLL(在我的情况下,msvc2010,所以msvcp100.dll和msvcr100.dll),但我可以记住错误。

感谢您的帮助人员!

对我来说,只是添加qwindows.dll/platforms目录不知何故削减它。
我终于把所有的工作都直接地复制到了我的应用程序的二进制目录,并创建了一个qt.conf以下内容的qt.conf文件:

 [Paths] Plugins=./plugins