在Windows上使用Mac编译器

3

是否可以在Windows上开发跨平台应用程序,并从Windows编译为Mac OS X?我已经查看了Qt,但那需要使用Xcode从Mac上进行编译。

4个回答

1

如果这是您的优先考虑因素,那么一个选项就是Java,因为至少在一个平台上构建的jar文件可以在另一个平台上运行。

然而,如果您谈论的是C或C++...

如果您正在创建一个小型命令行工具,那么您可能能够使用gcc和交叉编译器使其工作,但我认为这将是很多工作。

然而,如果您想创建GUI应用程序,我建议您现在放弃。有太多问题了 - 您必须使用Carbon或Cocoa API,而这些API无法在任何其他平台上构建,您必须链接到在编译主机上不存在的框架,您将无法轻松生成.plist文件。Qt也无法帮助您,因为您需要能够构建它,而这依赖于相同的框架。

简而言之,在实际的Mac上构建没有替代方案。

此外,当涉及修复错误时,您绝对必须在Mac上进行(物理或虚拟)。


感谢您详细的回复。我也在考虑,与其创建基于GUI的跨平台应用程序,不如使用本地语言开发它更好。我已经检查了一些跨平台框架,如Qt、Mono;它们都需要在Mac上编译,并且有许多已知问题,我认为在开发后难以处理。 - codelearner
有没有提供在线Mac OS系统的托管解决方案,以便我可以虚拟使用Xcode或任何其他类似的虚拟使用Xcode的解决方案? - codelearner
据我所知,目前没有这样的方法。虚拟机中运行Mac OS是可能的,但据我所知,这样做违反了OSX许可协议的条款。如果您确实需要为OSX构建,则除购买Mac外,真的没有其他选择。如果您没有物理机器的访问权限,则无法处理安装、不同操作系统版本之间的兼容性错误等各种问题。 - the_mandrill
1
只是想与您分享一下,我在网络上搜索后找到了 macincloud.com。它提供按小时计费的 Mac OSX,带有不同的开发软件,如Xcode、Monomac等。他们有不同的套餐,其中第一天是免费试用。 - codelearner
有趣的想法 - 我猜如果你需要在许多不同的系统上进行测试,那么这可能会更便宜。我认为只有当你的应用程序非常简单且快速构建时,这才是可行的。 - the_mandrill

0
据我所知,通常情况下您需要一台Mac来制作可执行文件,即使是一个简单的ANSI C程序,您也需要为Mac安装GCC。

0

如果您的应用程序是开源的,您可以创建MacPorts Portfile

MacPorts端口是包含在Portfile中的一组规范,用于定义应用程序、其特性以及安装所需的任何文件或特殊说明。这使您可以使用单个命令告诉MacPorts自动下载、编译和安装应用程序和库。

看看IMCROSS

IMCROSS是一种简单的脚本方法,用于在Linux(或可能是其他*nix)系统上安装交叉编译器和交叉编译库,以便您可以在开发Linux版本的同时,在同一环境中开发针对Microsoft Windows和Mac OS X运行的程序。


谢谢,我会详细检查它们。 - codelearner

0

你可以使用Real Studio轻松地完成这个任务。它可以在Windows上创建Mac OS X应用程序而不会遇到任何问题。

它可以进行跨平台编译,支持Windows、OS X和Linux系统。而且可以从任何平台进行编译。它还可以创建Web应用程序。

听起来你应该去看一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接