如何将基于 qt 的应用程序(在 Mac 上开发)部署到 Windows?

Posted

技术标签:

【中文标题】如何将基于 qt 的应用程序(在 Mac 上开发)部署到 Windows?【英文标题】:How to deploy a qt based app(developed on Mac) to Windows? 【发布时间】:2019-07-22 07:45:59 【问题描述】:

我在 macOS 上开发了一个桌面 Qt 应用程序。我想在 Windows 上执行我的应用程序。我看过那些页面: https://doc.qt.io/qt-5.9/osx-deployment.html https://godhc.wordpress.com/2012/06/10/build-your-qt-project-on-windows-and-mac-osx/ 但这并没有很好的意义。 有人可以解释一下怎么做吗?

【问题讨论】:

不同的操作系统,不同的可执行文件。您不能将针对一个系统的编译程序复制到完全不同的系统。要么设置一个交叉编译环境,要么获取 Windows 并使用它来构建(你可能无论如何都需要这样做,因为即使是使用像 Qt 这样的可移植库的程序也经常需要针对每个目标平台进行调整)。 【参考方案1】:

您必须在 Windows 上重新编译它。您必须确保您的代码不使用 macos“框架”或 unix 或 linux 特定功能。

我建议下载预编译的静态 QT,因为构建它是不可能的。你可以得到 here 并使用 Visual Studio 编译器,你必须下载 Visual Studio 和所有的 C++ 插件和东西。

!!编辑你的 cmd 所在的目录是 qmake 的输出! 然后打开 cmd 并在项目的 .pro 文件上运行静态编译的 QT 的 qmake。例如

E:\QT_projects\QT\qt5-5.7.1-vs2015\qt5-x86-static-release\bin\qmake.exe E:\QT_projects\variable-length-string-editor-for-binaries\StringEditer.pro

这将生成makefile。然后为我打开名为“VS 2017 的开发人员命令提示符”的 Visual Studio cmd,打开开始菜单并输入它会显示它。

然后导航到 qmake 生成的 make 文件所在的文件夹,例如

cd E:\QT_projects\variable-length-string-editor-for-binaries

然后在发布或调试时运行 nmake,或者只运行 nmake,例如

nmake release

【讨论】:

以上是关于如何将基于 qt 的应用程序(在 Mac 上开发)部署到 Windows?的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 和 Windows 上部署 Qt+Boost 应用程序

qt应用程序激活

如何找到 Qt 应用程序的安装目录?

如何在基于 c++/QT 的安装程序中检测互联网断开连接

如何在 Mac 上创建一个自包含的 Python Qt 应用程序

Qt 4.8 - 在 mac-mini (OS X Lion) 上检测 sd 卡的插入和移除