プロジェクトの下にあるすべての CPP ファイルを、プロジェクトをリンクなどせずにコンパイルすることは可能ですか?
2 に答える
これを行う唯一の方法は、コードをコンパイルするときに/c
スイッチを指定することです。残念ながら、このオプションは Visual Studio 開発環境内からは利用できないため、cl.exe
直接呼び出してコマンド ラインでコードをビルドする必要があります。作業を簡単にするために、Visual Studio コマンド プロンプトを使用してください。
MSBuild でこれを実行できるかどうかは不明です。制限が Visual Studio 自体にあるのか、それとも MSBuild の制限なのか、ドキュメントでは不明です。私は実際に自分で試したことはありません。
Ctrlあるいは、 +を押して IDE 内から個々のソース ファイルをビルドすることもできますF7(少なくとも、デフォルトの C++ 開発設定を前提としています)。それが失敗した場合は、「ビルド」メニューにある「コンパイル」オプションとしても利用できます。
これが必要な機能を果たすかどうかはわかりませんが、試してみる価値はあります: (ライブラリではなく) 実行可能ファイルのプロジェクトを作成し、その中にすべての cpp ファイルを含めます。main()
ゼロを返すだけの関数を追加します。C++ 最適化オプションを「参照の最適化」に設定します ( /OPT:REF
)。これにより、すべての cpp ファイルがコンパイルされるだけで、アプリケーションによって参照されるファイルがないため、リンク段階では事実上無視されます。
なぜこれを行う必要があるのか はわかりません-リンクに膨大な時間がかかるためですか?