2011-08-03 9 views
1

私はUnixからC++アプリケーションを移植しています。元の開発者はmain()関数でいくつかのファイルを作成してから、Makefileを使用して使用するmain()を選択します。Visual C++ 2010で使用するメイン関数の選択

Visual C++ 2010でmain()関数を含むファイルを選択するにはどうすればよいですか?

現在、私がコンパイルすると、重複するmain()シンボルのためにリンカーエラーが発生します。

私が考えることができるのはマクロ条件です。

他のアイデアはありますか?

+1

マクロ条件は、かなり良いアイデアです。 – Schnommus

+1

@Schnommus:オリジナルにマクロがない場合は、複数の実行可能ファイルを生成することになっている可能性があります。その場合は、単一のソリューション内で異なるプロジェクトを作成する方が元のコードに近いと思われます。 –

答えて

4

複数のmainは、元のコードが単一の実行可能ファイルを作成するのではなく、それらのセットを作成することを意味します。実行可能ファイルのそれぞれにどの部分が属しているかを把握し(Makefileを読んで)、実行ファイルごとに異なるプロジェクトを作成してください(libの場合も同じです)。 IDEを使用して、コンパイル/実行する実行可能ファイルを選択することができます。

1

各ソースファイル(「ソリューションエクスプローラ」で右クリック)の「構成プロパティ」で「除外ビルド」を選択できます。これは設定ごとの設定なので、いくつかの設定を追加し、main()でファイルを相互に排除することができます。 maina.cppとmainc.cppを除外し、mainb.cppとmainc.cppを除外します。

もう一つのオプションは、次のようになります。 main()を1つしか持たず、引数や設定ファイルを使って適切なソースを選択する。または、おそらく最も良い解決策は、各メインファイルごとに1つのプロジェクトを作成し、共通部分を静的ライブラリまたは共有ライブラリに配置することです。

関連する問題