私の以前の投稿から、なぜコマンドが
build /nmake "USER_C_FLAGS=/DMyVersion=3"
MyVersion
defineを値3に関連付けません。MSDNはそれを言う-
/Dname= を指定してコンパイルすると、シンボルに関連付けられた値がなくなります。そのため、シンボルを使用してコードを条件付きでコンパイルすることはできますが、それ以外の場合、シンボルは何も評価されません。たとえば、前のサンプル プログラムでは、/DTEST= を指定してコンパイルすると、コンパイラ エラーが発生します。この動作は、値の有無にかかわらず #define を使用する場合と似ています。
実行時に設定される環境変数があり、その環境変数を渡す必要があります。変数をVisual Studio 2005 Makefile Projectに追加します。問題は、どうすればenvを渡すことができるかです。実行時ビルド環境への変数? 合格したら、次のようなことができるはずです-
#define VERSION 11
#ifdef BUILD_VERSION // How to get this macro to the current env. ?
#undef VERSION
#define VERSION BUILD_VERSION
#endif
#define FILE_VERSION VERSION
nmake
ドキュメントからenvを渡すためのフラグが表示されません。変数。どんなアイデアでも大歓迎です。