web-dev-qa-db-ja.com

LinuxまたはWindowsでOS X用にコンパイルする方法は?

C/C++アプリをOS Xに移植したいと思います。

Macは持っていませんが、LinuxとWindowsは持っています。これのためのツールはありますか?

69
Unknown

一部のスクリプト があるようです。これは、Mac用のクロスコンパイルのセットアップを支援するために書かれています。それらがどれほど優れているか、またはあなたのプロジェクトにどのように適用できるかは言えません。ドキュメントでは、10.4のクロスコンパイルでは これらの手順 を、10.5のクロスコンパイルでは これらの手順 を参照しています。これらの指示は、スクリプトがニーズにどの程度適合するかによって、スクリプトよりも役立つ場合があります。

プログラムが無料またはオープンソースのソフトウェアである場合、代わりに MacPorts portfile(ドキュメント here )を作成し、ユーザーがMacPortsを使用してプログラムをビルドできるようにすることができます。これは一般に、Mac OS Xにポータブルフリーまたはオープンソースソフトウェアをインストールするための推奨される方法です。MacPortsは過去にLinuxで実行されることが知られていたため、LinuxでPortfileを開発およびテストできる可能性があります(明らかに必要です) Macでテストする必要があります)。

22
Brian Campbell

Linuxには、ビルド済みのGCCクロスコンパイラがあります(公開されているAppleの変更されたGCCソースから)。

https://launchpad.net/~flosoft/+archive/cross-Apple

2015年の更新

  1. 数年後、業界標準のIDEはOSX/iOS/Androidをサポートするようになりました。

http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/311

  1. EmbarcaderoのRadStudioは、WindowsでのOSX/iOS/Androidアプリの構築もサポートしています。

  2. この answer by Thomas は、クロスコンパイルツールも提供します。

これらすべてのオプションでは、アプリケーションをテストするために実際のmac/iデバイスが必要です。

49
Viktor Latypov

LinuxからOS X(10.4-10.9)をターゲットとする OSXCross というプロジェクトを作成しました。

現在、clang 3.2〜3.8(トランク)をサポートしています(distのclangを使用できます)。
さらに、最新のバニラGCC(4.6+)も構築できます。

LTOは、clangGCCの両方に対しても機能します。

現在、ld64-242でcctools-870を使用しています。

https://github.com/tpoechtrager/osxcross

29
Thomas

どういうわけかOS Xが必ず必要になります。 Macを所有していない場合でも、 alternatives を試すことができます。

4

Mach-oのクロスコンパイルにはツールチェーンが必要ですが、それがあったとしても、開発するためのAppleライブラリがありません。どうすればいいかわかりません残念ながら、それらなしで移植できます。

4
Joel Levin

Appleの開発自体は奇妙な獣です。 OS XはGCCのポートをいくつかの変更を加えて使用し、「アップル」にしています。理論的には、Apple GCCとツールチェーン、およびAppleカーネルとライブラリヘッダーのソースにアクセスして、Windowsでクロスコンパイラをビルドすることが可能です。機械。

なぜあなたがこの道を行きたいのかは私を超えています。 600ドルから安いMac miniを手に入れることができます。クロスコンパイラを正しく動作させるために投資する時間(特にUnixツール用のWindowsホスト)は、とにかく600ドルを超える費用がかかるでしょう。

アプリをプラットフォームを越えてQt、wxWidgets、またはFLTKに見せるようにしたい場合。すべては、基本コードへの最小限の変更でクロスプラットフォームのサポートを提供します。少なくともあなたがする必要があるのは、アプリをコンパイルするMacを見つけることだけです。そして、SSHでMacにアクセスできるようにすることを気にしない技術的な友達がいれば、それほど難しくありません。

4
Adam Hawes

私はネット上でこの小さなドキュメントを見つけました: http://devs.openttd.org/~truebrain/compile-farm/Apple-darwin9.txt

これはあなたが望むものを正確に記述します。私はそれ自体に興味がありますが、まだテストしていません(10分前に発見しました)。しかし、ドキュメントは良いようです。

3
Albert Zeyer

あなたはクラウドでmacを雇うことができますthis ウェブサイトから。それらを$ 1から雇うことができます。これは十分なはずです(need rootアクセスでない限り、$ 49 +を見ています)。

2
HexCoder