首页 > 解决方案 > 带有“#”的 Clang 诊断标志会导致构建错误

问题描述

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

但是cmake解释#为备注并失败。

例如:

add_definitions(-W#pragma-messages)

被解释为:

add_definitions(-W

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

标签: cmakecompiler-errorsclang++compiler-options

解决方案


在 CMake中,#字符后面直到行尾的所有内容都被视为注释。

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

add_definitions("-W#pragma-messages")

推荐阅读