从Linux交叉编译OS X.

Blo*_*314 15 linux macos darwin cross-compiling

是否有一个易于使用的工具链来编译来自Linux的Darwin(mac的OS)代码?

例如,我想在Linux机器上编译libpcap(或tcpdump)并在我的MAC上运行.我遇到过,osxcross但它需要获得Xcode SDK等,有没有人试过这个?

谢谢.

Oz1*_*123 6

你应该给亲爱的旋转一下。

亲爱的是:

Darling 是 OS X 应用程序的运行时环境。

它就像Mac OS X 上的WINE。虽然它仍然是一个相对较小的项目,但您已经可以使用 darling 使用 Xcode 来编译应用程序了。

Darling [~]$ hdiutil attach Xcode_7.2.dmg
/Volumes/Xcode_7.2
Darling [~]$ cp -r /Volumes/Xcode_7.2/Xcode.app /Applications
Darling [~]$ export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
Darling [~]$ echo 'void main() { puts("Hello world"); }' > helloworld.c
Darling [~]$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang helloworld.c -o helloworld
Darling [~]$ ./helloworld
Hello world
Run Code Online (Sandbox Code Playgroud)

我不确定更复杂的程序能否正确编译并在 Mac 上运行,但值得一试。

或者,您可以在 Linux 内的 Virtualbox 上运行 Mac OS X,然后将编译后的文件传输到目标计算机。

  • 引用 https://www.darlinghq.org/ 上的常见问题解答:“**它是否违反 Apple 的 EULA?** 不!我们只直接使用 Darwin 中作为完全自由软件发布的部分。` 我从该声明中得知 Darling 与许可协议并不冲突。但我不是律师。 (2认同)