Answers:
Darling(链接)是一个旨在与葡萄酒类似的项目。但是,当前它仅运行某些命令行OSX程序。截至2019年中,它可以运行许多命令行程序,并且根据其主页看来已接近可以运行某些基本图形软件的地步。除非它是基于文本的,否则它可能不会立即运行您想要的。
只要OS X程序的开发人员发布了他们的源代码并使用了跨平台的库(例如QT,GTK,X11,GNUStep或WxWidgets),您就应该能够为Linux重新编译OS X程序。OS X和Linux在API级别比ABI级别更兼容。
GNUStep实现了NeXTStep和OS X的Cocoa API。当我尝试使用它时,它似乎可以完成,而在野外却很少使用它,这真是令人震惊的完成。GNUStep仅在源代码(API)级别上起作用,因此,如果程序是开源的并且使用Apple的Cocoa GUI(不是专有的“ Aqua”),它就可以工作。这取决于能否编译和链接代码。
将API或应用程序编程接口视为汽车仪表板之类的东西-汽车驾驶员可以看到所有东西,并且您可以进入其他人的汽车并找到他的其他仪表板,就像找出一样容易。
将ABI或应用程序二进制接口视为汽车的引擎-品牌和型号之间的差异可能很大,您可能无法很轻松地将Chevy引擎换成Volvo。
以此类推,Darling会将Chevy引擎放入沃尔沃的底盘中,而从源代码进行编译就像离开Chevy进入Volvo。从程序员的角度来看,一个比另一个要简单得多。
但是苹果公司拥有一些专有的用户界面库,而其他人也没有。如果开发人员使用了其中一种(例如Aqua),则您必须等待并希望Darling像Wine一样长大,或者自己移植。如果没有源代码发布,就好像引擎被制造得太大而无法容纳在沃尔沃的引擎舱中,或者被设计为连接到您的沃尔沃是后轮驱动的前轮驱动汽车一样。除非有人是一个绝对疯狂的疯子(以最好的方式),他有数月的空闲时间和可笑的奉献精神,否则这不可能发生。
此外,就可可API的覆盖范围而言,GNUStep并非100%完整,因此对于复杂的程序而言,仍可能需要进行一些修整工作。而且,GNUStep不提供与xcode等效的构建系统-也就是说,如果原始开发人员仅使用XCode IDE的“构建”系统,则可能需要为其编写makefile。这对我来说是最令人沮丧的部分,因为尽管我拥有编译和链接软件的经验,但很难将有用的信息以我以前没有经验的.xcodeproj这样的格式来获取。
kvm
或Virtualbox
)。不幸的是,这样做会产生许可问题-Apple不希望您在非Apple硬件上运行其OS。我认为他们甚至不会再出售DVD上的OS X(您应该将Mac上的OS X随同他们告诉您,并通过Internet进行升级)。