1

環境変数の形式で設定されるコンパイル スイッチ (値はCOMPILE_AまたはCOMPILE_B) に応じて、アプリケーション名やスプラッシュ スクリーンなど、さまざまな設定でアプリケーションをコンパイルしたいと考えています。

私はこれまでに得ました:

  1. 「Project / Settings / C/C++ / Preprocessor Definitions」に追加しました$(COMPILESWITCH)(コマンドラインオプションの結果/D "$(COMPILESWITCH)")。

  2. 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)

または、私が望むものを達成するための別のより良い方法がありますか?

4

1 に答える 1