私は以前の質問に基づいてビルド構成を作成しています。 Build Configurationsを作成しました。custom.h
という名前のファイルに異なるビルドの条件付き宣言があります。これは、現在、次のようになります。 .hファイルの値が.rcファイルに定義されていません
#if BUILD == 1
#define STRDESCRIPTION "Personal Edition"
#elif BUILD == 2
#define STRDESCRIPTION "Select Edition"
#elif BUILD == 3
#define STRDESCRIPTION "Elite Edition"
#pragma message(STRDESCRIPTION)
#endif
は、私がログとして
#pragma
コマンドを追加しました:
#pragma once
#if defined(ELITE_BUILD)
#define BUILD 3 // 1: personal, 2: select, 3: elite
#elif defined(SELECT_BUILD)
#define BUILD 2
#elif defined(PERSONAL_BUILD)
#define BUILD 1
#endif
は私の.RCファイルのいずれかで(多少編集さ)、このようになりますversionconfig.h
のために含まれています努力。私はエラーerror RC2104 : undefined keyword or key name: STRDESCRIPTION
を取得し、このプロジェクトをコンパイルしようとすると
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", STRDESCRIPTION
END
END
END
:その含まれた後、.RCファイルの関連部分は(再び、簡潔にするために編集さビット)このようになります。私は少し迷っています。値は存在し、設定した直後にログに記録でき、#undef
コマンドがありません。
- 編集済み -
を私が追加した場合、私の問題は、条件付きの定義に関連していると思われるので、プロジェクトがコンパイルされますが、値が表示されないブロックする場合、プレースホルダは外で定義されています。現時点で最も混乱しているのは、#pragma message
コマンドを条件ブロック内に置くことができ、正しく実行されたことですが、そこに定義されている値は存在しません。誰かが私にとってこれに光を当てることができると願っています。
通常、私は誤植と思われます。 – Joshua
私は最近、可能性のあるファイルを生成していました。しかし、ファイルの関連部分はかなりの時間のうちに変更されていません。変更されたファイルは 'custom.h'だけで、Build ConfigurationsのPreprocessorセクションで定義された変数をチェックしていました。 'versionconfig.h'と' .rc'ファイルは変更されていません。 –