使用 Qt 时,我是不是必须在特定操作系统上编译特定操作系统?

Posted

技术标签:

【中文标题】使用 Qt 时,我是不是必须在特定操作系统上编译特定操作系统?【英文标题】:Do I have to be on a specific OS to compile for a specific OS when using Qt?使用 Qt 时,我是否必须在特定操作系统上编译特定操作系统? 【发布时间】:2016-12-29 01:30:13 【问题描述】:

当我使用 pyqt 时,需要在 mac 上为 mac 编译,而不是能够从 linux(或 windows,或其他)导出 mac 的构建

现在我使用的是直接的 c++ 开发,这个事实有什么改变吗?或者我还必须在给定的操作系统上为给定的操作系统编译吗?

理想情况下,我希望能够选择一个平台并为其编译。 Unity3d 会这样做,但我想我现在是在比较苹果和橙子。

这可能吗?还是我必须找一个有mac的朋友?因为我没有朋友... ;)

【问题讨论】:

【参考方案1】:

通常是的,您必须这样做。在某些情况下,您可以交叉编译,例如,这可用于 android 应用程序,因为没有可以在 android 上运行的 Qt SDK 交叉编译是唯一的选择。你也可以build a custom Qt to cross-compile 到另一个操作系统。这在默认情况下不可用,它需要自定义构建。

但是,当涉及到 ios 或 macos 时,交叉编译不是一种选择,据我所知,没有办法,只能在 macos 下编译。

【讨论】:

感谢您的帮助。

以上是关于使用 Qt 时,我是不是必须在特定操作系统上编译特定操作系统?的主要内容,如果未能解决你的问题,请参考以下文章

在 Qt 5.4 上编译 QXmpp 库时出错

Qt Designer 使用 Python 3.5 而不是 Python 3.7

Qt Creator 作为嵌入式 Linux 的调试系统

在 Windows 上编译静态 Qt 构建时未定义的引用

Qt:在 Windows、Visual Studio 2010 (VS2010) 上编译 Qt 5.0.1 时出错

使用 Python 在 Qt 上编写的自动测试应用程序