3
在我的項目中,我有一個包含versionnumber定義的包含文件「buildversion.h」。 爲了使它更易於管理我心中已經做了一些預處理器「神奇」Visual Studio資源編譯器字符串合併
的問題是,在Visual Studio編輯器的resourcefile不表現得像正常的編譯器,所以我得到「錯誤」 entrys
我的頭文件:
#define MAJOR_VER_NUM 2
#define MINOR_VER_NUM 3
#define REV_NUM 9999
#define STR(x) #x // helper defines
#define XSTR(x) STR(x) // helper defines
#define XXX_FILE_VERSION MAJOR_VER_NUM,MINOR_VER_NUM,REV_NUM,0
#define XXX_PRODUCT_VERSION MAJOR_VER_NUM,MINOR_VER_NUM,REV_NUM,0
#define XX_FILE_VERSION_STRING XSTR(MAJOR_VER_NUM)", "XSTR(MINOR_VER_NUM)", "XSTR(REV_NUM)", 0"
#define ICOS_PRODUCT_VERSION_STRING XSTR(MAJOR_VER_NUM)", "XSTR(MINOR_VER_NUM)", "XSTR(REV_NUM)", 0"
int const MajorVersionNumber = MAJOR_VER_NUM;
int const MinorVersionNumber = MINOR_VER_NUM;
int const RevisionNumber = REV_NUM;
在我的「main.rc」文件包括我上面的標題和版本塊我寫
VALUE "FileVersion", XXX_FILE_VERSION_STRING
對於這樣的結果條目是:
2" , 「3」, 「9999」,0
如果使用上述的頭文件中普通的C++代碼substition工作正常,我得到
2,3,9999,0
如預期的那樣。
有什麼辦法可以在資源文件中做這項工作嗎?