我的iOS项目中有一些带有警告的文件,我想忽略这些警告。我不想禁用整个项目中的警告(不知道如何执行此操作),仅禁用某些特定文件。因此,有没有一种方法可以完全忽略特定文件中的所有警告?
我在Xcode 4.2上使用LLVM 3.0和Clang。
我的iOS项目中有一些带有警告的文件,我想忽略这些警告。我不想禁用整个项目中的警告(不知道如何执行此操作),仅禁用某些特定文件。因此,有没有一种方法可以完全忽略特定文件中的所有警告?
我在Xcode 4.2上使用LLVM 3.0和Clang。
Answers:
如果您仅使用clang,则应对所维护的源使用编译指示语法(假设无法通过适当地更改程序来消除警告)。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmultichar"
char b = 'df'; // no warning.
#pragma clang diagnostic pop
如果这些程序是您不能更改且无法维护的程序,则应指定要针对文件而不是全部禁用的警告。要禁用所有功能,可以添加per file参数-w
。源代码会更改,并且某些警告会(或不会)适用于不同的构建设置。clang的消息可以告诉您什么标志等于生成的警告。
要使用Xcode更改文件的构建标志,请执行以下操作:
我继承了一个包含320个代码的项目,并且该代码库向我抛出了一些警告和静态分析器错误,我对修复没有兴趣,因为我将在不久的将来从该项目中删除该代码。
您可以通过包含以下编译器标志来禁用特定文件的静态分析器警告:
-Xanalyzer -analyzer-disable-all-checks
您可以将其与-w组合使用,以禁用该文件的警告。这使我可以继续进行新的开发,而不必为该代码库生成的30多个警告所困扰。
按照上面的说明进行操作:要使用Xcode更改文件的构建标志,请执行以下操作:
在贾斯汀的答案的帮助下,这就是您的工作方式
就我而言 conversion
使用过滤器在编译源中找到文件的名称,输入-Wno-[error name]
例如-Wno-conversion