LinuxでMac OS Xアプリケーションを実行する

LinuxでMac OS Xアプリケーションを実行する

このウィキペディアによると記事:

OS Xは一連のUnixベースAppleが開発し販売するグラフィカルインタフェースオペレーティングシステムです。

だから私は考えています:

  • 同様のアプリケーションがありますか?ワインしかし、Macアプリを実行していますか?

  • うん可能at は Mac OS X アプリケーションを実行します。Linuxマシン?

答え1

蜂蜜(協会)はワインに似ていることを目指すプロジェクトです。ただし、現在は一部のコマンドラインOSXプログラムのみを実行しています。 2019年半ば現在、多くのコマンドラインプログラムを実行できます。テキストベースでない限り、まだ必要に応じて機能しない可能性があります。

OS Xプログラム開発者がソースコードを公開し、クロスプラットフォームライブラリ(例:QT、GTK、X11、GNUStepまたは、WxWidgets)Linux用のOS Xプログラムを再コンパイルできる必要があります。 OS XとLinuxは、ABIレベルよりもAPIレベルではるかに互換性があります。

GNUStepNeXTStepとOS XのCocoa APIを実装しました。私がそれを試したとき、それは多くのことができるように見えましたが、野生ではほとんど使われていなかったので、それがどれほどうまくいったのか驚きました。 GNUStepはソースコード(API)レベルでのみ機能するため、プログラムがオープンソースであり、AppleのCocoa GUI(独自の「Aqua」ではない)を使用している場合に機能します。これは、コードをコンパイルしてリンクできるかどうかによって異なります。

API(またはアプリケーションプログラミングインターフェース)を車のダッシュボードのように考えてください。ドライバーはすべてを見ることができ、他の人の車に行き、他のダッシュボードを見つけることもできます。これも簡単に把握できます。

ABI(またはアプリケーションバイナリインターフェイス)を自動車のエンジンと考えてください。メーカーやモデルによって大きく異なる場合があり、Chevyエンジンをボルボで簡単に交換できない場合があります。

このたとえ話では、Honey は Chevy エンジンを Volvo シャーシに配置し、Chevy から Volvo にコンパイルするかのようにソースからコンパイルします。プログラマの観点から見ると、1つは他のものよりも単純です。

しかし、Appleには他の誰も持っていない独自のユーザーインターフェイスライブラリがあります。開発者がこれらのいずれか(Aquaなど)を使用している場合は、DarlingがWineのように成長するか、直接移植するのを待つ必要があります。ソースコードが公開されていない場合は、エンジンがボルボのエンジンベイに収まらないほど大きく製造されているか、ボルボが後輪駆動の間に前輪駆動車両に接続するように設計されているのと同じです。誰かが(可能な最善の方法で)数ヶ月間の自由時間ととんでもない献身をする狂った狂気でない限り、このようなことは起こる可能性がほとんどありません。

さらに、GNUStepはCocoa APIのカバレッジの観点から100%完全ではないため、複雑なプログラムの場合は、いくつかのソートを必要とする可能性があります。そしてGNUStepはxcodeと同等のビルドシステムを提供しません。つまり、元の開発者がXCode IDEの「ビルド」システムを排他的に使用している場合は、そのためにmakefileを作成する必要があるかもしれません。ソフトウェアをコンパイルしてリンクした経験はありますが、以前のバックエンドの経験がなければ、.xcodeprojのような形式で有用な情報を取得するのは難しかったので、これは私にとって最も残念な部分でした。

関連情報