私はお金を節約し、WindowsとMac OSの両方で動作するデスクトップアプリケーションを開発しようとしています。これは可能ですか?私たちはC++でそれをやってもいいですか?いくつかの修正と修正を加えて、両方のOSで同じアプリケーションを再利用していますか?WindowsとMac OSの両方で動作するデスクトップアプリケーションをC++で開発できますか?
答えて
この質問はasked a lotを取得し、以下を参照してください。とりわけ this question、this oneとthis oneを。
はいこれが可能です。オペレーティングシステムに違いがあるため、一部のコードが異なる場合があります。 http://qt.nokia.com/
Qtは、テーブルにはるかにクロスプラットフォームの機能をもたらしていることは注目に値するので、それに慣れる:
- あなたは、このようなQtのようなGUIのための共通ライブラリを使用する必要があります。
- な
- ファイルのパスとして扱うためにいくつかの違いがあります(C:マック、\上に存在しないと/パスセパレータ、などです)
- ファイルの語尾は、Windows、Lfの中(CRLFを異なります
- )は、Macに次の2つの異なるターゲットCPUのにコンパイルする必要があります。ほとんどのC++コンパイラはこれを行うことができます。
- 同じコードが両方に使用することができ、あなただけのこと(またはできない)する領域を定義するコンパイラがターゲットとしている一般OSものに応じて含まれています。
Googleのクロスオーバー開発ガイドでは、これまでに人々のルーツがこれを行っています。 :)
Javaと、Mono Project(.Net、Qt)の両方で、あなたに関連するスキルが限られているクロスプラットフォームアプリケーションを作成することができます。基礎となるプラットフォーム。彼らは一般的に、時間の節約と考えられているより高いレベルの言語です(それは別の議論である。)
Qtはパス区切りと行末を処理します。さらに、標準のCおよびC++ライブラリでも行末を処理します。 –
私のコメントに拡大:
はないを行います。
は++ポータブルCであなたのライブラリのコードを記述します。可能な限りライブラリの機能を入れて、プラットフォーム固有のAPI(おそらくCocoaと.NET)を勉強していることを確認してください。そうすれば、ライブラリへのインターフェイスは少なくともどちらかに適しています。その後
ネイティブバイナリで、あなたのライブラリーを包みます。アプリケーションが各プラットフォームでどのように見えるのか、それらの感触に注意を払うことができます。
X11アプリケーションのように見えるアプリケーションをビルドし、Gnomeアプリケーション、KDEアプリケーション、OS Xアプリケーション、およびWindowsアプリケーション間のすべての方法ですべてを行います。はユーザーエクスペリエンスを損なうでしょう。
ひどくです。
.Netは標準のWindows APIではありません。 Windows APIは、C、COM、.Net、WMIの組み合わせとして最もよく記述されています。それから私はおそらくまだいくつかの部分を忘れているでしょう。 C++は最初の3つと合理的に互換性があります。 – MSalters
@MSalters:「Windows API」は、ほぼ普遍的にCヘッダファイルとライブラリのセットとみなされています。私がよく知っている解釈の下では、.NETとWMIが含まれています。 Windows APIをターゲットにする場合は、C++開発に限られません。これは、Visual Basic、.NETプラットフォーム、Python(いくつか例を挙げれば)と同様に、CおよびC++と同様に機能します。私はあなたが「C++は最初の3つと合理的に互換性がある」と言ったときに、あなたが何を意味するのか分かりません。 Windows APIをターゲットとするC++アプリケーションとの互換性の問題はありますか? –
ここに遅れて来ます!
私は、クロスプラットフォームの商用アプリケーション(現時点ではOS/XとWindows、おそらくはLinuxまたはiOSと思われる)の最終段階に入っています。
私たちは、Juceと呼ばれるオープンソースのクロスプラットフォームのC++開発ライブラリを使用しています。十分に話すことはできません。これは完全に機能しており、コードは堅実で高品質で、同じコードベースからWindows、OS/X、Linux、iOS、Android用に構築することができます(最初の2つを試しただけですが、明らかに他のプラットフォームの成功を報告している)。
特に有益な点は、主任開発者が掲示板で非常にアクティブであり、トラブル報告に非常に敏感であることです。
また、GPLの下でライブラリのライセンスを取得することができます。また、非常に合理的な価格の商用ライセンスもあります。
Juceは、デジタルオーディオアプリケーションを扱う人々の間で非常に人気があります。実際、私の知る限りでは、多くの、あるいはおそらくほとんどのトップ商用デジタルオーディオアプリケーションがこのシステムを使用していますが、非常にフル機能で非常に高速です。任意のクロスプラットフォーム開発アプリケーションのトップ候補です。
- 1. Mac OSでのデスクトップアプリケーションの自動化
- 2. Mac OSでlibvirt C++アプリケーションを開発する方法
- 3. Railsの開発Mac OSまたはWindows
- 4. Visual StudioでXamarinを使用して、MacとWindowsの両方でサポートされるデスクトップアプリケーションを開発することは可能ですか?
- 5. OS XでWindows Mobileアプリケーションを開発できますか?
- 6. クロスプラットフォームiOS/Mac OS X Objective-C開発ですか?
- 7. LinuxとWindowsホストの両方でAndroidアプリを開発する
- 8. Mac OSで開発するものは何ですか?
- 9. MacとWindowsの両方で同じ.NET Coreソリューションを開く
- 10. プログラムは、Mac OSで動作しますが、Windowsの
- 11. フレックス:アンドロイドとiphoneの両方で動作するフレックスモバイルプロジェクトを開発できますか?
- 12. Mac OS XのSymbian C++開発
- 13. Objective-CはMac OS/iPhoneでの開発にのみ使用されますか?
- 14. Windows OSとDev-C++ IDEを使用してLinux用のシェルをコーディングできますか?シェルは両方のオペレーティングシステムで同じように動作しますか?
- 15. Mac OSで開発されたC++アプリケーションをUbuntu環境に展開する
- 16. Windows、Linux、Macで動作するQt Multi-touchアプリケーションを開発することは可能ですか?
- 17. adobe flex webとデスクトップアプリケーションの両方で作業する
- 18. ビジュアルスタジオでMac用のWindowsアプリケーションを開発する方法
- 19. Java FXコードはWindowsでは動作しますが、Mac OSでは動作しません。 Mac OSでJavaFXを実行するには?
- 20. Mac OS XでC#/ WPFアプリケーションを実行できますか?
- 21. MacとWindows用のVisual Studioで.NETCoreプロジェクトを開発する
- 22. Windows上で動作するiPad開発ツールですか?
- 23. Macでのネイティブ開発WindowsでのDragonfire SDK - iPhone開発
- 24. MacでJava OutOfMemory、Windowsで動作する
- 25. mac osでpysparkを開くことができません
- 26. Mac OSでどのようにピークメモリを取得できますか? Windowsので
- 27. テクスチャレンダリングはWindowsでは動作しますが、Mac OSでは動作しませんか?
- 28. Windows OS上のC++でのiPad/iPhoneアプリの開発
- 29. C#でAndroidとiPhone両方の開発のフレームワークはありますか?
- 30. 別のOSからWindows Azureを開発することは可能ですか?
これがツールのようなコマンドのようなものでない限り、それは、全体的に、悪い考えである*。 JavaやQtなどを使用して「ポータブル」アプリケーションを作成しようとすると、通常、MacアプリケーションやWindowsアプリケーションのように見えない怪物になります。基本的にはハッキーな感じがします。 –
@ウィリアム、私はMacについては知らないけど、Windows/Linuxでやってみたところ、両方のシステムでうまく動作していた。ああ、そしてHP-UXでも。これはQtとJavaの両方に当てはまります。 Macは違うの? –
指定された目標(お金を節約する)が与えられれば、UIの非存在性は許容可能な妥協案となる可能性があります。さらに、フォームの経験私はQtが(ポータブル)機能が動作すると、後でネイティブのポリッシュを追加できることを知っています。 – MSalters