Mac OS X共享库跨平台开发

时间:2012-01-25 16:37:39

标签: linux macos cross-platform shared-libraries

我应该承认我甚至不拥有Mac,我已经完成了Windows和Linux编程。在这里,我希望通过将其与Linux相关联来了解有关Mac OS X的一些内容。希望能够在不购买Mac的情况下编译Mac共享库。

注意:绝对没有GUI,所以不应该要求Cocoa吗?还想象我现在使用C或c ++ 0x和POSIX。

Mac OS X共享库和Linux有什么区别? 在Mac上运行Linux .so文件需要什么?我是否需要替换ld-linux.so和linux-gate.so或其他一些与crt相关的目标文件的Mac-native?

在Windows或Linux上是否有适用于Mac的跨平台gcc? (再没有GUI)

1 个答案:

答案 0 :(得分:2)

即使您不需要Cocoa / Objective-C,您仍然需要链接到Mac OS X库(例如libSystem,类似于Linux上的libc)。文件格式完全不同(ELF与Mach-O),因此无需重新编译就无法在Mac上运行Linux库或工具。

如果您坚持使用POSIX / SUS API,您可以轻松编写内容,这样只要您不尝试任何特定于平台的内容(如阅读Linux /proc文件),它们就可以在Linux和Mac上进行编译而无需更改。 / p>

似乎没有任何针对Linux-to-Mac开发的交叉编译器,我无法想象有人试图这样做:你将追逐一个移动的目标而没有任何实际的好处。

解决方案一如既往地提出这些问题:在eBay或类似的拍卖平台上购买二手MacMini。它们便宜且足够。