Cmake 带有'的叮当诊断标志#';导致生成错误

Cmake 带有'的叮当诊断标志#';导致生成错误,cmake,compiler-errors,clang++,compiler-options,Cmake,Compiler Errors,Clang++,Compiler Options,在我的cmake文件中,我需要添加一个包含#的clang诊断标志,如的clang docs中所示 但是cmake将#解释为备注,因此失败 例如: add_definitions(-W#pragma-messages) 被解释为: add_definitions(-W 在cmake脚本中,应该如何使用此标志?在cmake中,在行尾被视为注释之前,在#字符后面的所有内容都将被视为注释 要防止编译定义和选项出现这种行为,需要引用整个参数 add_definitions("-W#pragm

在我的cmake文件中,我需要添加一个包含
#
的clang诊断标志,如的clang docs中所示

但是
cmake
#
解释为备注,因此失败

例如:

add_definitions(-W#pragma-messages)
被解释为:

add_definitions(-W

在cmake脚本中,应该如何使用此标志?

在cmake中,在行尾被视为注释之前,在
#
字符后面的所有内容都将被视为注释

要防止编译定义和选项出现这种行为,需要引用整个参数

add_definitions("-W#pragma-messages")

您是否已尝试将参数括在引号中,即
add_定义(“-W#pragma messages”)
It work!我不知道可以将选项括起来,而且在编译器选项中包含哈希符号似乎也很尴尬。。。无论如何,请将评论作为回复发布。