簡體   English   中英

在資源文件中使用宏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM