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