2012-01-25 17 views
2

私はMacを所有していないと告白する必要があります。私はWindowsとLinuxプログラミングを行っています。可能であれば、Linuxに関連付けることで、Mac OS Xに関することを学びたいと思っています。また、Macを購入せずにMac共有ライブラリをコンパイルできることを願っています。Mac OS X共有ライブラリクロスプラットフォーム開発

注:ココアは、右要求されるべきではないので、全くGUIは、ありませんか?また、私は現在CまたはC++ 0xとPOSIXを使用していると想像してください。

Mac OS X共有ライブラリとLinuxの違いは何ですか? MacでLinuxの.soファイルを実行するためには何が必要ですか? ld-linux.so、linux-gate.soまたは他のcrt関連のオブジェクトファイルの代わりにMacネイティブのものが必要ですか?

WindowsまたはLinux上のMac用の任意のクロスプラットフォームのgccはありますか?

+0

が重複する可能性[は、Windows上でMacのOSXのアプリを開発することが可能ですか?](http://stackoverflow.com/questions/2214083/is-it-possible-to-develop-mac-osx-apps-on- windows) –

+0

これはほぼ重複していますが、これはGUIプログラミングではなく単にPOSIXであるためです。私はそれが回答を正当化するのに十分だと思います;-) – DarkDust

答えて

2

Cocoa/Objective-Cが必要ない場合でも、Mac OS Xライブラリ(LinuxではlibcのようなlibSystemなど)とリンクする必要があります。ファイル形式はまったく異なります(ELF vs. Mach-O)ので、再コンパイルせずにMac上でLinuxライブラリやツールを動作させる方法はありません。

POSIX/SUS APIに固執すると、Linux /procファイルのようなプラットフォーム固有のことを試していない限り、LinuxとMacの両方でコンパイルできるように簡単に書き込むことができます。

は、LinuxとMAC開発のための任意のクロスコンパイラを存在しないようですし、私は誰もがこれをやろうと想像することはできません:あなたは任意の真のメリットなしで移動するターゲットを追いかけているはずです。

質問のこれらの種類といつものように解決策:イーベイまたは類似のオークションプラットフォームで使用MacMiniを買います。彼らは安く、十分です。

+0

答えをお寄せいただきありがとうございます。私はlibSystemを見ましたが、明らかにlibc、libm、およびその他のライブラリの機能を提供しますが、libc、libm、... do libSystemへのシンボリックリンクです。 – dashesy

+0

うん、それは妥当性のためだ。 Linux上でのように '-lm -lpthread'を実行するだけで、GCC/LLVMは正しいことを行います。 – DarkDust

+2

GUIとObjective-Cが必要ない場合は、Apple Darwinを仮想マシンにインストールしてください。 Apple DarwinはMac OS Xの基盤となるAppleのオープンソースOSです。 – OCTAGRAM