2011-06-29 2 views
0

私はC++を使ってQTで書かれたWindowsプログラムを持っています。 Windowsプラットフォーム用に書かれたコードがMacに変換できるかどうか分かりますか?コードの100%がコンバーチブルか、それともコンバーチブルなのですか?QtプログラムをWinからMacに変換するには?

+2

Qtはクロスプラットフォームのフレームワークです。変更があれば、その変更はごくわずかなものになります。 QtでWindowsからLinuxに移行した経験は、他のマシンでもう一度コンパイルしなければならず、すべてうまくいきました。 – AJG85

+0

両方のプラットフォームで動作するC++コードを記述することは可能ですが、悲しいことに、特定のシステムの特定のバージョンでしか動作しないコードを書くのは簡単です... – delnan

+2

ここで質問する前にコードをコンパイルしてみましたか? –

答えて

7

Mac上で異なっている物事のカップル

  • あります
  • ファイルアソシエーション(例:.docはWinWord.exeを呼び出すことを意味します)が異なる方法で実行されている場合は、アプリケーションのインストーラーをゼロから書き込む必要がありますMac OSの場合
  • 関連するファイルをダブルクリックすると、Windowsではargvを使用せずに別の方法で実装されます
  • メニューが異なります(デフォルトメニューにはAboutボックスが含まれていますが、WindowsのAboutボックスは通常ヘルプメニューにあります) - これはネイティブの良いQTで表現できますが、通常はWindowsプログラマはメニューをきれいに実装することを忘れています)
  • などです。

私の結論は:1つのOSから別のOSに100%移植できるクリーンなQtコードを書くことは可能ですが、通常はプログラマが100%クリーンなので移植が行われますやるべきこと。

ヘキサが推奨するように、内容をコンパイルし、エラーをカテゴリに分類しようとします。 これらのカテゴリを取得したら、進める方法を決定します。

8

ブルートフォースアプローチ、IMOに進みます。

Download the Mac SDK

インストールし、プロジェクトを開き、コンパイルします。

失敗した場合は、プラットフォーム固有のコードについてコードを確認してください。

これは「スマート」ではありませんが、Mac用のコーディングを計画している場合は、とにかくSDKをダウンロードする必要があるため、効果的です。

(私はあなたが上で開発するのMacを持っていると仮定している、これはクロスコンパイラではないことに注意してください)

+0

これはかなりスマートです... – vrince

+0

これは、MACがobjective-Cの横にC++コンパイルを行うことができるということですか? – huahsin68

+2

Macは汎用コンピュータで、適切なコンパイラ(ソフトウェア)があればコンパイルできます:P –

関連する問題