1

Visual Studio 2010 を使用して C++ マルチプラットフォーム プロジェクトに取り組んでいます。すべてのプラットフォーム間でコードの共有部分がありますが、それぞれに専用の大きな部分があります。#if def を使用してそれらを分離していますが、コードのメンテナンスが大変になり、コードが乱雑になるだけでなく、一部の定義をオンまたはオフにするとコードがコンパイルされないなどの問題が発生します。

マルチプラットフォーム プロジェクトの開発に役立つ Visual Studio 用のプラグインまたはツールはありますか。

誰か提案があれば感謝します

4

3 に答える 3

3

私はそのような VS 用のプラグインについて知りませんが、基本的に Windows 専用の IDE であるため、存在するとは思えません。(もちろん、間違っているかもしれませんが)

優れたクロスプラットフォーム ビルド システムを探しているなら、私はCMakeを検討します。強力で簡単に入手でき、ほぼすべての一般的な IDE/ツールチェーン (Visual Studio ソリューション、Eclipse プロジェクト、MinGW Makefile、GNU Makefile など) のビルド ファイルを生成できます。

これにより、大規模プロジェクトのクロスプラットフォーム開発が簡単になります!

于 2013-03-19T10:05:41.347 に答える
2

Qt フレームワークに切り替えると、プラットフォームに依存するコードのほとんどを削除できる可能性があります。Qt アドオンで VS を使用し続けることができ、Qt のプラットフォーム抽象化を使用することで、(ほぼ) 同一のコード ベースで多数の異なるプラットフォームをターゲットにすることができます。卓越したプラットフォーム サポートと移植性を実現します。

  • ウィンドウズ
  • Linux (Qt は KDE および Ubuntu の将来のリリースにネイティブです)
  • マックOS
  • BB10 (Qt は BB10 にもネイティブです)
  • 組み込み Linux
  • Android(来月登場)
  • iOS(来月も)
  • ジョラ
  • ティゼン

API も優れた IMO です。見苦しくなく、一貫性があります。また、QML (グルー コードと値バインディングに JS を使用して C++ コンポーネントからアプリケーションを構築するための JSON スタイル マークアップ) を使用すると、生産性が大幅に向上します (誇張せずに最大 10 倍)。Qt ツールチェーンは、さまざまなキット (ライブラリ バージョンのコンパイラとプラットフォームの組み合わせ) とマルチプラットフォームのクロス コンパイルをサポートしています。

于 2013-03-19T10:40:38.117 に答える
1

Visual Studio そのもの以上の「ツール」はありません。コードを別のプロジェクトに分けます。共通コード用のプロジェクトと各プラットフォーム用のプロジェクト。

次のことを忘れないでください。

 1. Add reference to common project in all platform-dependent projects (so common project is compiled before platform project). 
 2. Add common project base to the common include directories of each target project.

ここに画像の説明を入力

于 2013-03-19T10:03:26.793 に答える