[英]Using Macros in Resource File
我正在嘗試使用宏來自動生成C ++項目的生成版本。
如果執行以下操作,一切正常。
Versioning.h
...
#define VERSION_MAJOR 1
#define VERSION_MINOR 0
...
MyApp.rc
...
#include "Versioning.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION VERSION_MAJOR, VERSION_MINOR, 0, 0
PRODUCTVERSION VERSION_MAJOR, VERSION_MINOR, 0, 0
FILEFLAGSMASK 0x3fL
...
但是,如果我嘗試包含更復雜的內容(例如數學),則編譯器會生成錯誤
#define VERSION_MAJOR (2 / 2)
error RC1013: mismatched parentheses
error RC2104: undefined keyword or key name: /
我需要在宏中使用更復雜的數學表達式,調用其他類,執行字符串比較等。
我的猜測是,我編寫的宏沒有什么問題,而是資源文件處理宏的方式存在問題。
有任何想法嗎?
注意:我正在使用Visual Studio Ultimate 2013 Update 3。
資源編譯器不如源代碼編譯器靈活。 您不能在資源腳本中使用復雜的宏。 如果需要,則必須使用單獨的預處理器來執行計算並生成必要的宏值,以供資源編譯器使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.