无法在qt之外运行应用程序

时间:2015-06-27 03:37:05

标签: c++ windows qt

我无法在QT之外运行HelloWorld.exe。 我通过QT创建者5.4.2对其进行了编码。从QTcreator构建和运行工作正常。 但是当我试图在QT上运行生成的可执行文件时,我的意思是直接在桌面上,它不断给我一些错误,比如丢失库。

从网络搜索我知道我需要做一些静态构建。 请帮帮我。请干净地描述步骤0到N,以便我或其他人不会遇到任何问题。

我正在使用Windows而且我有MSVC2010。 帮助从0地步直到执行helloworld.exe外侧qtcreator。

谢谢

2 个答案:

答案 0 :(得分:1)

可以部署动态链接或静态链接的Qt应用程序。从Qt Creator运行Qt应用程序时,它在C:\ Qt \ Tools \ QtCreator \ bin中找到了需要的库,但是你需要更多的库。

快速部署方法是将Qt应用程序可执行文件(.exe)放在目录C:\ Qt \ Tools \ QtCreator \ bin中,并创建一个符号链接。这适用于初始测试,但不是部署Qt应用程序的方式,因为它需要在部署机器上安装Qt和环境。

更好的方法是使用位于目录C:\ Qt \ 5.4 \ msvc2010_opengl \ bin中的windeployqt.exe它有文档并从Qt命令行运行

C:\ Qt \ 5.4 \ msvc2010_opengl \ bin> windeplyqt --help


它仅在http://doc.qt.io/qt-5/windows-deployment.html记录了一半。

如果要将应用程序部署到许多计算机,则需要构建安装程序,此处将记录http://doc.qt.io/qtinstallerframework/index.html

答案 1 :(得分:0)

QtCreator为qt库保留内部环境路径。运行你的" HelloWorld.exe"你可以将丢失的dll从qt / bin复制到与可执行文件相同的文件夹中。更好的解决方案是将qt / bin添加到环境变量的系统路径中。

如果您计划分发应用程序,最佳解决方案是静态链接qt库而不是动态链接。您可以通过以下方式了解有关其选项的更多信息:

How to make Qt and Qtcreator link the libraries statically instead of dynamic?