如何在Linux上执行Mach-O 32位C++程序?

如何在Linux上执行Mach-O 32位C++程序?

我想执行一个程序(我知道它是用 C++ 编写的),但出现以下错误:

zsh: exec format error: ./myProgram

输出file myProgram

myProgram: Mach-O i386 executable

我的系统是64位Linux。我也在 32 位 Ubuntu VM 上尝试过,但我得到:

bash: ./myProgram: cannot execute binary file: Exec format error

为什么我无法执行该程序?我怎样才能执行它?

答案1

亲爱的,你可能会很幸运:

Darling 是一个转换层,允许您在 Linux 上运行未经修改的 OS X 二进制文件。从本质上来说,它与著名的 Wine 项目类似。

此时,Darling 不太可能运行您最喜欢的 OS X 应用程序。有关更多信息,请查看项目状态。始终欢迎开发人员加入该项目。

http://www.darlinghq.org/

答案2

您可以使用 VirtualBox 在 PureDarwin 下运行它。

“Darwin 是 Apple 的开源操作系统,构成了 Mac OS X 的基础,而 PureDarwin 是一个社区项目,旨在使 Darwin 更加可用(有些人认为它是 OpenDarwin 的非正式继承者)。”

http://www.puredarwin.org/developers/virtualbox#TOC-Ubuntu-Virtual-Box-4

相关内容