【问题标题】:Qt C++ Stand alone executable in WindowsWindows 中的 Qt C++ 独立可执行文件
【发布时间】:2011-07-21 21:39:42
【问题描述】:

我想让我的 Qt C++ 程序成为一个独立的单一应用程序。顺便说一句,我使用的是基于 Qt 4.7.4 的 Qt creator 2.2.1。我按照http://www.formortals.com/how-to-statically-link-qt-4/ 的说明静态链接库。我不知道在 QtSDK 文件夹中哪里可以找到 configure.exe,所以我下载了“qt-everywhere-opensource-src-4.7.3”并按照说明进行操作。

我在第 4 步中不确定,因为 Windows Qt 选项看起来不相似。它不是文件夹的路径,而是 qmake 位置的路径,我不确定为该选项选择什么。

如果有人知道如何在不需要任何 dll 的情况下独立创建程序并且可以帮助我,我将不胜感激。

谢谢

【问题讨论】:

  • Qt 库默认以 DLL 形式提供。您真的想要“没有任何 dll”还是只想创建一个可以工作的应用程序?
  • @Jay 当我的意思是没有 dll 时,我的意思是它们被包含在可执行文件中。因此,exe 拥有运行所需的一切,无需任何外部文件。因此,另一台计算机上的另一个用户不需要安装 Qt 即可运行该程序
  • @Jay:可能他想要的是,没有操作系统不附带的 DLL。
  • @user844778:您知道 QT 的开源版本属于 (L)GPL 吗? IE。你必须遵守这些条款。这通常意味着您不能只分发 EXE;您还必须分发许可条款。
  • @MSalters,我在哪里可以找到许可条款?

标签: c++ qt


【解决方案1】:

关于您提到的第 4 步,在QtCreator 中,您需要指向qmake 可执行文件,您将在bin 的构建树(静态构建Qt 的位置)中找到它文件夹。

我想如果您在第 4 步中遇到问题,您应该已经构建了 Qt 的静态版本,您已经完成了 95% 的工作!

QtCreator 将接受您制作qmake 的那一刻,您只需使用任何向导选择此版本即可获得您的第一个应用程序,然后将CONFIG += static 添加到您@987654330 @文件。

Here一些Qt教程以防万一。

【讨论】:

  • 请注意,Qt 是 LGPL(除非您有商业许可证),所以如果您静态链接您的应用程序,它就会变成 GPL(实际上不完全是,如果您想做很多工作以允许重新链接)
  • @vrince,我按照教程中的步骤进行操作,但在到达“nmake 版本”时遇到了致命错误。错误是:“'g++' 未被识别为内部或外部命令、可操作命令或批处理文件。”有什么想法吗?
  • 看起来您忘记使用 msvc 规范文件配置 qmake(以使用 Microsoft 工具链(编译器))。尝试使用 -spec=msvc-.... 重新配置。然后在 Visual Studio 命令 shell 中运行 nmake(或 jom)(您需要安装免费版本的 visual 才能拥有它...)
  • @vrince,我在 Visual Studio 命令提示符 2010 中运行了“configure -static -release -platform win32-msvc2010”,然后运行了“nmake sub-src”,这就是你所指的吗?运行“nmake release”时出现同样的错误
  • @user844778: 是的,这就是我的意思,但是如果你在那之后得到一个“gcc 错误”,我不知道为什么......here 一个关于在 Windows 上构建 Qt 的更完整的博客(参见静态部分)
猜你喜欢
  • 2012-08-22
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
  • 2017-04-17
  • 2014-01-15
  • 1970-01-01
相关资源
最近更新 更多