環境変数の形式で設定されるコンパイル スイッチ (値はCOMPILE_A
またはCOMPILE_B
) に応じて、アプリケーション名やスプラッシュ スクリーンなど、さまざまな設定でアプリケーションをコンパイルしたいと考えています。
私はこれまでに得ました:
「Project / Settings / C/C++ / Preprocessor Definitions」に追加しました
$(COMPILESWITCH)
(コマンドラインオプションの結果/D "$(COMPILESWITCH)"
)。stdafx.h では、次のコードを使用できます。これは、コマンド ライン パラメーターを介してプリプロセッサ定義を正しく定義したことを意味します。
#if defined COMPILE_A
# define IDB_SPLASH IDB_SPLASH_A
# elif defined COMPILE_B
# define IDB_SPLASH IDB_SPLASH_B
# else
# error Unknown or undefined target compile switch; cannot compile!
# endif
しかし、「ResourceView / [右クリック] / Properties」の下の「Condition」プロパティに気付きました...ヘルプテキストには次のように書かれています:
調子リソースの組み込みを決定します。たとえば、条件が _DEBUG の場合、このリソースはデバッグ ビルドにのみ含まれます。
これはエレガントな方法のように見えますよね?
条件_DEBUG
として指定すると機能します。したがって、my should_DEBUG
を介して指定されているように、動作するはずですよね?
何らかの理由でそうではありません。なぜ?/D _DEBUG
$(COMPILESWITCH)
または、私が望むものを達成するための別のより良い方法がありますか?