5

Visual Studio を IDE として使用し、C++ と OpenGL/SDL を使用してゲームをプログラミングしています。私は Mac を持っていませんし、このプラットフォームについても漠然としか知りません。でもやっぱりMacユーザーにもリリースしたい。

3 つの質問があります。Mac プログラムを PC 上で作成およびコンパイルできますか? 可能であれば、そうすることに落とし穴はありますか?最後に、VS2010 は Mac 用にコンパイルできますか、それとも別のコンパイラを使用する必要がありますか?

4

3 に答える 3

8

SDLを使用している場合、答えは「最後のステップまで、希望に近づくことができます」です。単一のコードベースでゲームのようなプログラムを作成し、そのコードベースをさまざまなマシンに取り込んでコンパイルし、動作させることができるのは、まさに Simple DirectMedia Library が設計された目的です! 少なくともこれを妥当な目標にしなければ、あまり人気が出ないでしょう。

だからといって、ボタンを押して Visual Studio から Macintosh または Linux のバイナリ パッケージを取得できるわけではありません。しかし、いつでも友達を見つけて、コードベースでコンパイルを試してみるように頼むことができます. 標準 C++ ライブラリからのみ関数を呼び出し、SDL が提供するボックス内に留まるように注意している限り、正常にコンパイルされるはずです...理論的には.

2018 の更新: - Mac でコンパイルしたいが Mac がない場合、Travis-CI は仮想化された OS Xを備えているため、clang を実行して実際に結果のバイナリをどこかにアップロードできます。変更を加えるたびに、ネットワーク経由で完全なビルドが行われるのを待ちたくないでしょう...しかし、OS X でクロスプラットフォームのコードベースのビルドを取得すると、継続的インテグレーションによってそれを確実に維持できます。

C++ では、他の言語よりも「移植性のサンドボックス」内にとどまることを確認するのが難しい場合があります (特に初心者の場合)。また、特に Microsoft ツールを対象としたチュートリアルに従っている場合は、ドキュメントで Windows のみの呼び出しを行うようにアドバイスすることにほとんど問題がないため、難しい場合があります。したがって、「完全にデバッグされた」コードを友人に渡し、コンパイルして新しいプラットフォームで初めて動作させることができる可能性は低くなります。

確かに、テスト期間が必要です。そして、XCode などでコンパイルして基本が機能していることを他の誰かに確認してもらうために、土壇場まで待つべきではないでしょう。代わりに GCC コンパイラを使用することで、移植性のないコードを書くリスクを下げることができます。これは、実際にはクロス プラットフォームではない依存関係を持ち込むと、問題が発生する可能性が高くなります。

エッジでの生活が好きなら、 「Hackintosh」仮想マシンを実行することも可能かもしれません. Linux VM を作成し、その下でビルドを試すことができます。それが機能する場合、Mac ビルドも機能するという確信が高まります。保証はしませんが。

于 2012-10-18T04:11:51.350 に答える
3

まず、Mac 用にクロスコンパイルすることはできません。彼らの「gcc」が必要になります。Mac ユニバーサル バイナリは (理論的には) PC 上で作成できますが、実際にはまだ作成できません。

VS2010 は Mac 用にコンパイルできませんが、おそらく別の言語を使用する場合は、Mac 用にコーディングできます (Python など)。

どんなクロスプラットフォーム言語でも役に立ちます。Python、Java、Ruby、Perl

于 2012-10-18T03:46:15.737 に答える
2

1 つのオプションは、Java を使用することです。これを eclipse RCP SWT ウィジェットと組み合わせると、ネイティブ LAF で Win/Linux/OSX をターゲットにすることができます。おそらく、Eclipse を IDE として使用したいと思うでしょう。

本当にc++ を使用する必要がある場合は、wxWidgets またはその他のクロスプラットフォーム ウィジェット セットを狙うことができますが、コンパイルには、すべての OSX ライブラリのコピーと、プラットフォーム/リンクをターゲットにする方法を知っているコンパイラ セットが実際に必要になります。

Apple ハードウェアを一切所有したくない場合は、Java ルートを強くお勧めします。さらに、JVM でサポートされている言語が豊富にあるため、Java で記述する必要さえありません... Scala を試してみてください!

于 2012-10-18T03:44:44.017 に答える