如何在VS项目中禁用clang-cl特定的警告

7
我使用第三方项目,它产生了大量的警告信息。我在VS项目属性中禁用了所有警告。有时,我切换到LLVM clang-cl工具集来检查来自clang的警告。第三方项目在clang-cl下产生了如此多的警告,以至于输出量使得VS无法正常工作。
我知道如何禁用它们,我通过命令行参数禁用它们,例如:Wno-int-conversion -Wno-shift-op-parentheses等。然而,问题是当我切换回VS工具集时,所有这些用于禁用clang-cl警告的命令行参数都变成了错误(未知的命令行参数)。
是否有一种方法可以在同一个VS项目中拥有clang和VS设置?也许,可以有条件地针对ClangCL工具集仅添加这些设置以进行clang-cl构建吗?
1个回答

5
我尝试的第一件事情立即奏效了,以防有人需要解决相同的问题:
  <AdditionalOptions Condition="'$(PlatformToolset)'!='ClangCL'">/w24003 /w24005 ... %(AdditionalOptions)</AdditionalOptions>
  <AdditionalOptions Condition="'$(PlatformToolset)'=='ClangCL'">-Wno-unknown-pragmas -Wno-unused-variable ...  %(AdditionalOptions)</AdditionalOptions>

这样,只需在VS中使用LLVM clang-cl工具集,并应用clang特定的命令行参数,当使用ms编译器时,则只应用ms编译器特定的选项。


有没有办法在源文件中实现相同的功能呢? - undefined
1
正常的clang diagnostic ignored应该可以正常工作。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接