22

複数の機能を持つ複数のファイルを含む、いくつかのソフトウェアのサンプル ディレクトリがありますmain。これらのファイルをすべて 1 つのプロジェクトにアセンブルし、コンパイルしてから、特定のファイルをmain already definedエラーなしで実行できますか? cpp ファイルごとに個別のプロジェクトを作成したくないとします。

アップデート

シンプルなワンツークリック ソリューションが必要です (存在する場合)。フォルダー間でファイルを配布したり、ファイルのコンテンツをリファクタリングしたりしたくありません。たとえば、Eclipse/Java では、main を含む任意のファイルを右クリックして実行できます。また、1 つのプロジェクトに多数のメイン ファイルが存在する場合があります。これは VisualStudio/CPP で可能ですか?

更新 2

C++ は Java ではなく、Visual Studio は Eclipse ではないことを知っています。私の質問は、一部の手動操作の自動化についてです。

4

7 に答える 7

24

これらのmain関数を別々の名前空間に配置してから、どの関数を実行するかを定義します。

File1.cpp

namespace F1
{
    int main(int argc, char * argv[])
    {
        // ...
    }
}

The-real-main.cpp

int main(int argc, char * argv[])
{
    if (whatever)
        return F1::main(argc, argv);
}

編集:追加情報に応じて。

C++ は Java ではなく、VS は Eclipse ではありません :) VS で複数のプログラムを同時に維持する自然な方法は、複数のプロジェクト (実行可能ファイルまたはライブラリごとに 1 つ) を 1 つのソリューションに配置することです。プロジェクトを実行する場合は、 でプロジェクトを右クリックしてSolution Explorerを選択しSet as Startup ProjectStartボタンをクリックして実行します。

プロジェクトをソリューションに追加するには、ソリューションを右クリックしてAdd|を選択します。New project...またはAdd| Existing project.

于 2013-06-10T11:12:04.153 に答える
9

ビジュアル スタジオの場合:

1 つの「ソリューション」を作成します。ソリューションの下に、複数の「プロジェクト」を作成できます。各プロジェクトは実行可能ファイルに個別にコンパイルされます。コンパイルは、不要なプロジェクトを「アンロード」する以外は通常どおりに行われます。他のプロジェクトの 1 つを再度開くには、ソリューション エクスプローラーから [プロジェクトの再読み込み] を選択するだけです。

この機能は、ソース ファイルを共通の「フォルダー」にグループ化して、個別にコンパイル/デバッグしながら簡単に検索およびアクセスできるようにする研究/整理の目的で役立ちます。私が言える主な利点は、ソリューション エクスプローラーを使用してプロジェクトを簡単にナビゲートできることです。

于 2015-03-22T19:51:12.713 に答える
0

Visual Studio では、作成する実行可能ファイルごとに 1 つのプロジェクトを作成する必要があります。

于 2013-06-10T11:23:31.500 に答える