我可以在不拥有一个的情况下为Mac编程

Can I program for Macs without owning one?

本文关键字:情况下 Mac 编程 有一个 拥有 我可以      更新时间:2023-10-16

我正在使用C 和OpenGL/SDL编程,使用Visual Studio作为我的IDE。我不拥有Mac,也不对平台含糊不清。但是我想向Mac用户发布相同的内容。

我有三个问题。我可以在PC上编写和编译Mac程序吗?如果可以的话,是否有可能这样做的陷阱?最后,VS2010可以为Mac编译,还是我需要使用另一个编译器?

如果您使用的是SDL,则答案是"您可以接近您的愿望,直到最后一步,有点"。能够在单个代码库中编写类似游戏的程序,然后将该代码库带到各种机器上并进行编译并使其工作正是简单的DirectMedia库旨在做的!如果至少没有使它成为合理的目标,请非常受欢迎。

这并不意味着您将可以按下按钮并从Visual Studio中获取Macintosh或Linux二进制包装。但是您总是可以找到朋友,并要求他们在代码库上为您尝试编译。只要您一直谨慎地将功能从标准的C 库中调用并留在SDL给您的包装盒中,它应该符合良好... 在理论上

更新2018: - 如果要在Mac上编译并且没有一个,则Travis -Ci现在具有虚拟化OS X,因此您可以运行clang并实际上将其上传由此产生的二进制文件。您可能不想每次进行更改时都在网络上等待完整的构建...但是,一旦您在OS X上获得了跨平台代码库,连续集成可以确保您以这种方式保持。<<<<<<<<<</em>

在C 中比其他语言更难,以确保您留在"可移植性沙箱"中(尤其是如果您是初学者)。而且,如果您要遵循针对Microsoft工具的教程,那么很难,因为他们对建议您在文档中进行仅使用Windows的电话有很少的疑问。因此

当然,您需要一个测试期。而且,您可能不应该等到最后一分钟才能让其他人确保基础知识在XCode或其他任何内容中进行编译。您可以通过使用GCC编译器来降低编写不可交易代码的风险,如果您开始带来实际上不是跨平台的依赖项,则更有可能抱怨。

如果您喜欢生活在边缘,也可能可以运行" hackintosh"虚拟机。您当然可以制作一个Linux VM并尝试在此下进行构建,如果它起作用,可以提高Mac构建也可以正常工作的信心。

不保证。

首先,您无法跨编译Mac。您将需要他们的" GCC"。可以(理论上)在PC上创建MAC通用二进制文件,但实际上是不可能的。

vs2010不能为Mac编译,尽管如果您要使用其他语言,则可以为Mac代码(例如在Python中)。

任何跨平台语言都会有所帮助。Python,Java,Ruby,Perl

一个选项是使用Java。如果将其与Eclipse RCP SWT小部件相结合,则可以用本机LAF靶向Win/Linux/OSX。您可能想将Eclipse用作您的IDE。

如果您确实必须必须使用C ,则可以针对WXWIDGETS或其他一些跨平台窗口小部件集,但是编译确实需要所有OSX库和编译器集的副本知道如何定位平台/链接。

,如果您不想拥有任何苹果硬件,我真的会推荐Java路线……更少的痛苦。除了大量的JVM支持的语言,您甚至不必在Java中写作...尝试Scala!