0
假設你有一個傳統的Visual C++ 2010項目的標籤,像這樣定義的:設置標籤文本
[foo.rc]
LTEXT "Foo",IDC_STATIC,42,42,42,42
在資源(.RC)文件。
現在,你要基於常量你在頭文件中定義的文本,就像這樣:
[foo.rc]
LTEXT FOO_TEXT,IDC_STATIC,42,42,42,42
凡FOO_TEXT在一些其他的方式是以前定義的,例如:
[bar.h]
#define FROBNICATE "F"
#define OO "o"
#define ICANTTHINKOFMETASYNTACTICVARIABLESBEGINNINGWITHO "o"
#define FOO_TEXT (FROBNICATE OO ICANTTHINKOFMETASYNTACTICVARIABLESBEGINNINGWITHO)
只有不起作用,因爲.RC文件沒有頭文件,以及RC編譯器抱怨,告訴你:
[Build output]
1>foo.rc(42): error RC2116: expecting number for ID
1>
1>
1>foo.rc(42): error RC2108: expected numerical dialog constant
你會做什麼?
要澄清,是的,整個字符串在編譯時是已知的,但它也需要從較小的字符串構造(在這種情況下,版本信息和發佈類別(開發,發佈和另一個) )。當然,我也可以編寫這樣的C++代碼,但對我來說這似乎很不雅觀。
那麼,有沒有更好的方法?
是的,看起來不像我會解決它。感謝你的回答 :) – ralokt 2012-03-05 21:23:29