【问题标题】:build c++ (qt) program as one portable file with built-in dependences将 c++ (qt) 程序构建为具有内置依赖项的可移植文件
【发布时间】:2019-05-09 07:18:29
【问题描述】:

我有一个 Qt 项目。我可以构建它,但如果我想将 exe 文件用作可移植程序,我必须将所有外部文件与可执行文件放在一起。但是客户希望它是一个没有任何其他文件的可执行文件。结果文件的大小无关紧要。

所以,如果我要使用 Python,我可以这样做:

[localhost@localhost ~]$ pyinstaller --onefile myscript.py

我可以使用 Qt(使用 MinGW)做同样的事情吗?

【问题讨论】:

  • 对于外部文件,你的意思是你必须运送的库还是你的程序读取的一些数据文件?

标签: c++ qt build compilation


【解决方案1】:

这取决于您正在谈论的文件。通过静态链接,您可以摆脱 dll 文件,通过使用 Qt 资源集合文件,您可以将图片和 html 文件链接到可执行文件中。

【讨论】:

  • 请注意,Qt 在 LGPL 下获得许可,因此静态链接到它会“感染”您的项目。对于内部工具来说可能不是问题,但要记住一些事情。
  • 请记住,您需要 Qt 的商业许可证才能在可执行文件中分发静态链接的 Qt 库。
【解决方案2】:

您可以将您的捆绑包打包成一个自解压 ZIP,该 ZIP 会自动运行并自行清理。我发现 this answer 可以让你接近。

【讨论】:

    【解决方案3】:

    除非您拥有商业 Qt 许可证,或者如果您没有链接到任何 Qt 库(您仍然可以使用 Qt creator 和 qmake),否则您不能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 2012-01-06
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多