nmake
Win7x64ビルド環境でのドライバーのビルドに問題があります。プリプロセッサ変数を定義し、-を使用してコマンドラインに渡します
build /nmake "USER_C_FLAGS=/DMyVersion=3"
そして、ビルドログは-
...
/DMyVersion=3
/typedil-
/wd4603
/wd4627
....
ですから、私は変数をコンパイラオプションの一部としてはっきりと見ています。今ヘッダーファイで、私はします
#define otherVersion 10
#ifdef MyVersion
#undef otherVersion
#define otherVersion MyVersion
#endif
#define FileVersion otherVersion
問題は、渡された定義に関係なくFileVersion
常に10であり、環境に存在することです。MyVersion
テストするために、何が起こっているのか、私はしました-
#ifdef MyVersion
#error MyVersion is present in the environment.
#endif
ステートメントが印刷されているのがわかります。しかし、プリプロセッサディレクティブが環境に存在するにもかかわらず、なぜotherVersion
常に10であるのでしょうか。コマンドラインオプションを介して渡された値3を取得しないのはなぜですか?