DEFINES += includthisvariable
在QT中爲.pro
文件做什麼?QT定義與C++中的#define做同樣的事情嗎?
如果它在C++中的工作方式與#define
相同,其中includethisvariable
定義爲使預處理器可以用我設置的值替換includethisvariable
?
我知道#define
在C++中的作用,因爲您在您定義的旁邊設置了值。然而,在這裏,你似乎只是列出了一個名字...... QT文檔沒有幫我解釋這個。
DEFINES += includthisvariable
在QT中爲.pro
文件做什麼?QT定義與C++中的#define做同樣的事情嗎?
如果它在C++中的工作方式與#define
相同,其中includethisvariable
定義爲使預處理器可以用我設置的值替換includethisvariable
?
我知道#define
在C++中的作用,因爲您在您定義的旁邊設置了值。然而,在這裏,你似乎只是列出了一個名字...... QT文檔沒有幫我解釋這個。
是的,它以相同的方式工作。 DEFINES += includethisvariable
在正在編譯的源中包含預處理器符號includethisvariable
。
這意味着任何#ifdef語句等
#ifdef includethisvariable
...
...
#endif
被包括在源被編譯。
宏與值也可與-D
選項編譯器的命令行上的Qt項目文件的DEFINES
可變端向上定義
`DEFINES += "MAXBUFFERSIZE=4096"
的項目(或任何適合的編譯器被使用)。爲了讓你的宏定義的值,而不是僅僅定義它,使用以下命令:
DEFINES += FOOBAR=foobar_value
這將顯示編譯器的命令行上爲-DFOOBAR=foobar_value
如果你需要,你需要引用的價值空間 - 和逃避那將編譯器命令行上傳遞的報價:
DEFINES += FOOBAR="\"foobar value\""
這一個顯示爲:-DFOOBAR="foobar value"
該定義在.config文件中指定。 .config文件是一個 常規C++文件,它們在分析了 時預先添加到所有源文件中。僅使用config文件中添加行,如下面的例子 :
#define NAME value
在Windows上,-D在Linux,OSX等 – ismail 2013-04-26 19:55:54