【发布时间】:2014-02-19 17:11:47
【问题描述】:
假设您刚刚编写了一个 Qt 应用程序。一次编写到处编译... 你有一台 Windows 7 x86 64 位机器。您希望:
- 静态编译这个可执行文件(以最小化 dll/so/frameworks 的数量)
- 为 (x86_64, x86) * (windows[all],linux,mac, 为什么不是 bsd) = 6/8 对 (cpu,os) 编译它
-
您还希望人们执行最简单的安装:
--> one file for installer which copies an sqlite database in program data and an executable in program files --> linux via yum/yast/apt-get installs --> i'm not sure what to do for mac 简单的卸载程序
您将如何在您的 Windows 机器上完成所有这些工作,尤其是为 mac 进行交叉编译?
Qt Installer Framework 似乎是完成这项工作的正确工具。但是我无论如何都看不到如何编译mac二进制文件......
你会用什么?你经常使用什么工具?
编辑 以下建议我正在寻找一个交叉编译器。我会尝试将它集成到 Qt 工具链中...clang 看起来很棒。
【问题讨论】:
-
@merlin09 我相信您的编辑中有错字。
-
我认为您不能在 Mac 以外的任何其他平台上为 Mac 进行交叉编译。此外,一般来说,管理交叉编译器可能需要大量工作,并且存在一个缺点,即您根本无法运行测试或测试实际应用程序。我宁愿使用虚拟机。
-
但是使用VM你需要有MAC os镜像,这不是免费的...
-
是的,它不是免费的,而且你只能合法地在 MAC 上运行它,所以它可能不是 VM 映像 :)
-
我认为虽然理论上你想要的是可行的,但实际上设置多个主机/虚拟机的工作量要少得多,而且得到更好的支持。这就是 Qt 自己的持续集成系统在多台机器上运行的原因。当您按照自己的意愿进行交叉编译时,您可能是这个星球上唯一这样做的人,并且您最终将不仅支持您自己的代码,还支持多个工具链。这是很多看似没有明显好处的工作。给自己买几个不同的(可能是虚拟的)主机,一个合适的 CI 系统,从那里开始就很容易了。
标签: c++ qt installation