【发布时间】:2014-08-12 08:58:10
【问题描述】:
我希望我的 Qt 应用程序能够运行,而不管 Qt 特定的 DLL。为此,我应该静态链接可执行文件。然而,这需要 Qt 本身的“静态”安装。
这就是我卡住的地方。我浏览了几十个不同的教程页面,但它们要么与我的设置不兼容,要么写得不好,要么就是完全错误。
这是我的情况:
- Win 7,32 位
- 我已经安装了 Qt(MSVC 2013 版本),在此处下载:http://qt-project.org/downloads(Qt 5.3.1 for Windows 32-bit (VS 2013, 559 MB))
- QtCreator 工作正常,我可以开发 Qt 应用程序,但如前所述,它们是动态链接的
- 可能没关系,但我有 Visual Studio 插件版本 1.2.3
- 前段时间我也手动安装了 MinGW(不使用 Qt 安装程序)
同样,我的目标如下:使用 QtCreator 编译不需要 Qt DLL 即可运行的静态链接 exe。
谁能推荐一个描述我应该采取的步骤的教程/维基页面?
【问题讨论】:
-
另一个静态链接的 Qt 问题。您没有通过第一个先决条件:Qt 的静态版本。与其下载和安装 Qt,不如下载源代码并使用与您的应用程序兼容的编译器(即 msvc2013)和适当的标志进行编译。至少 -static 应该在配置中。
-
我知道这个问题已被问过很多次,但正如我的问题中所述,这些解决方案对我不起作用。我只是在寻求一些特定于平台的建议。据说已经有我答案的问题实际上没有,我以前见过。
-
您能具体说明它们与您的设置不兼容的原因吗?该 wiki 拥有一切,甚至是您可以复制、粘贴和执行的环境脚本。
-
@UmNyobe 我之前尝试过那个脚本,PowerShell 给了我奇怪的错误信息,我查看了它,发现这是一个在某些页面中模糊描述的罕见问题。我很惊讶像我这样的 QT 新手要实现像编译独立 EXE 一样基本和初级的东西是多么困难。我终于设法用 MinGW 编译了我自己的版本,但在解决另外两个错误之前,幸运的是,这里描述了 @stackoverflow。
-
绝大多数人使用从网站下载的动态版本并且可以接受。 It is very hard to distribute a static library 在 Windows 上。更少提供静态库的可移植性。
标签: c++ qt visual-c++