首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在其他计算机上运行Qt5应用程序(Windows 7)

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

Stack Overflow用户
提问于 2013-04-24 17:37:10
回答 4查看 21.3K关注 0票数 12

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

EDIT1: BTW当我添加从互联网下载的DCOMP.dll时,未找到的dll比现在多出2-3倍:)

EDIT2:还注意到,在其他计算机(Windows7Home高级版)上,当我双击exe文件时,它会显示它加载,没有效果,没有错误--什么都没有。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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应答):

代码语言:javascript
复制
[Paths]

Libraries=./platforms
票数 10
EN

Stack Overflow用户

发布于 2013-09-08 13:35:00

只需将包含以下内容的文件qt.conf添加到应用程序dir

代码语言:javascript
复制
[Paths]

Libraries=./platforms

然后将您将找到的子dir“平台”复制到同一个app dir中:\Qt\Qt5.1.1\Tools\QtCreator\bin

就这样。

这是因为qtcore.dll是用qt分期付款的内部路径编译的。(我不知道wy !)因为,当应用程序启动时,qt.conf总是由qtcore读取,"platforms“中的库将被包括在内,并且该应用程序对任何主机都有效。

警告: qtcore和平台子dir必须从相同的qt分期付款变成。

英语系的人很抱歉,但解决办法很好。

票数 8
EN

Stack Overflow用户

发布于 2015-09-23 01:17:10

现在Qt (至少是Qt5.2,如果不是更早的话)附带了"windeployqt.exe",当指向您已编译的程序时(如果您像我一样使用它们,作为Quick的“-qmldir/to/QML/files”的附加参数)应该会将所有必需的DLL吐出到您编译的程序当前驻留的同一个目录中。例如,对于我自己来说,在本地构建机器上运行的代码如下:

代码语言:javascript
复制
    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),但是我可能记错了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16198649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档