Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Qt-pro文件中定义bool_C++_Qt_Qmake - Fatal编程技术网

C++ 在Qt-pro文件中定义bool

C++ 在Qt-pro文件中定义bool,c++,qt,qmake,C++,Qt,Qmake,可以通过以下方式为.pro文件中的变量设置布尔值: //ProjectFile.pro DEFINES += "myBool=1" 此变量可在源代码*.cpp中用于条件编译。Qt甚至突出显示了条件表达式: 现在我正在寻找一种在.pro文件中使用myBool变量的方法 根据Qt文件,条件语句的工作原理如下: 问题:有人知道如何使用myBool这样的定义变量处理pro文件中的条件语句吗?出于好奇,我研究了一下 首先,我咨询了一下,但没什么帮助 然后,我试图通过谷歌找到

可以通过以下方式为.pro文件中的变量设置布尔值:

//ProjectFile.pro
DEFINES += "myBool=1"

此变量可在源代码*.cpp中用于条件编译。Qt甚至突出显示了条件表达式:



现在我正在寻找一种在.pro文件中使用myBool变量的方法

根据Qt文件,条件语句的工作原理如下:


问题:有人知道如何使用myBool这样的定义变量处理pro文件中的条件语句吗?

出于好奇,我研究了一下

首先,我咨询了一下,但没什么帮助

然后,我试图通过谷歌找到一些东西,发现了以下两个Q/A(其中包括):

我在我的
qmake
(在Debian上)中结合了我的发现并测试了它:

输出:

项目消息:定义:MY\u BOOL=1
项目消息:MY_BOOL已定义
为了反检查,我更改了第一行:

#CONFIG+=MY\u BOOL
输出:

定义:
项目消息:MY_BOOL未定义
FYI:。似乎无法在条件中计算qmake变量。充其量,您可以在
CONFIG
中创建新选项。看起来,它们甚至可以像变量一样拥有相同的名称,而不会产生干扰。仅供参考:更好:根据
CONFIG
选项定义变量,以确保它们始终同步。。。
<condition> {
    <command or definition>
    ...
}
//ProjectFile.pro
CONFIG(debug, debug|release) {message("Hello from DebugMode")} // => works fine

$$myBool {message("Hello from myBool")} // => not working
CONFIG+=MY_BOOL

MY_BOOL {
  DEFINES+="MY_BOOL=1"
}

message(Defines: $$DEFINES)

MY_BOOL {
  message(MY_BOOL defined)
}
!MY_BOOL {
  message(MY_BOOL not defined)
}