2010-11-29 7 views
0

このビジュアルスタジオ固有ですか、そうでないとすべてのC++プロジェクトがこのように動作していますか?なぜ各C++プロジェクトはビジュアルスタジオで1つの実行可能ファイルしか作成できないのですか?

なぜですか?

+3

Visual Studioの発明者はそれが理にかなっていると思ったので、 – frast

+2

これは、ソリューション( '.sln')ファイルが存在する理由です:複数のプロジェクトを収集するためです。 – ereOn

+0

これは他のIDEの場合ですか? – wp2

答えて

1

どのように2つのプログラムの2つの異なるメインとの違いを作りますか?どのソースがプログラム1用で、どのソースがプログラム2用であるかを知ることは非常に複雑です。したがって、2つの実行可能ファイルに対して2つの異なるプロジェクトが必要です。

2つのプロジェクト間でソースコードを共有している場合は、別のプロジェクト(^^)にライブラリを置くことができます。

6

複数の実行可能ファイルをビルドする場合は、同じ「ソリューション」ファイルで複数のプロジェクトを定義することができます。

+2

同じソリューション内の複数のプロジェクトで同じファイルの一部またはすべてを使用することを止める方法はありません。例えば構成の異なる2つのビルドを実行せずに、コンポーネントの32ビット版と64ビット版の両方をビルドする場合、ソリューションには、同じファイルを指していても出力が異なり、わずかに異なる2つのプロジェクトがある場合がありますセットアップ。 –

1

C++には一般的にソリューションの概念がありません。標準では、各翻訳単位のコンテキストで何が起こるかを定義しています(一部は適切にリンクできるオブジェクトの作成に関係します)。開発に使用される最も広く普及しているプロジェクト構築ツールはおそらくはまだmakeであり、複数のターゲットを定義することができます。

1

のVisual Studioで、用語「プロジェクトは」(DLL/EXE /静的libに/ ...)バイナリビルドアーティファクトを発するエンティティ(ソースファイルのセット)であることをを定義しですので。

注:プロジェクトは実際には異なるバイナリ成果物(デバッグ対リリース対構成-xy)を生成できますが、通常はすべて同じソースファイルのセットから生成されます。ソースファイルの変化はなく、重複セットで複数の実行ファイルを作成したい場合は

、あなたは複数のプロジェクトにあなたのソリューションを分割する必要があります

  • ソースファイルの重複セット(複数可)に入ります
  • 各実行ファイルの固有のソースファイルセットは、実行可能ファイルごとに個別のプロジェクトに入れられ、各実行可能プロジェクトはstatic-libプロジェクトにリンクします(s)。
関連する問題