Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.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
Visual studio 基于配置在cmake中有条件地设置变量_Visual Studio_Configuration_Cmake - Fatal编程技术网

Visual studio 基于配置在cmake中有条件地设置变量

Visual studio 基于配置在cmake中有条件地设置变量,visual-studio,configuration,cmake,Visual Studio,Configuration,Cmake,是否可以基于配置在cmake中有条件地设置变量?例如,我正在尝试这样做: set(VAR $<$<CONFIG:Debug>:definition_for_debug> $<$<CONFIG:RelWithDebInfo>:definition_for_rel_with_debug> $<$<CONFIG:Release>:definition_for_release> $<$<

是否可以基于配置在cmake中有条件地设置变量?例如,我正在尝试这样做:

set(VAR 
    $<$<CONFIG:Debug>:definition_for_debug>
    $<$<CONFIG:RelWithDebInfo>:definition_for_rel_with_debug>
    $<$<CONFIG:Release>:definition_for_release> 
    $<$<CONFIG:MinSizeRel>:definition_for_tight_release>
    )
set(变量
$
$
$ 
$
)

但是,当我这样做时,cmake会在使用变量的地方返回一个错误。我做错了什么?还有别的办法吗?

找到了。不同的生成器表达式之间不应存在空格:

set(VAR $<$<CONFIG:Debug>:definition_for_debug>$<$<CONFIG:RelWithDebInfo>:definition_for_rel_with_debug>$<$<CONFIG:Release>:definition_for_release> $<$<CONFIG:MinSizeRel>:definition_for_tight_release>
)
set(变量$$)$
)

这应该没有什么区别。我能用任何一种方法。很可能你的问题出在这些定义的内容上_*