我的Xcode工作区中有第三方项目(它是我主项目的依赖项),我希望Xcode忽略该第三方项目的所有构建警告。
我希望忽略项目中Vendor / *组的所有构建警告,因为那是我放置所有第三方代码的地方。
可能的?
答案 0 :(得分:6)
是的,这是可能的,但前提是您在单独的目标中编译第三方文件。这样,您可以设置不同的编译器标志。
假设您的主要目标是应用程序。您定义了构建设置以及编译器警告标志。
现在您想使用某些第三方来源。您将它们导入到项目中,但它们会生成警告。您当然可以更改主要目标的设置,但我很确定您要保留自己的设置。
只需在项目中创建一个额外的目标,即一个静态库。 从主目标中删除第三方文件,并将它们添加到库中。
在主目标的构建阶段,将应用程序与静态库链接。
这样,您就可以在应用程序中使用第三方代码,同时为第三方代码设置不同的编译器设置。
答案 1 :(得分:4)
可以在每个文件的基础上查看http://blog.bluelightninglabs.com/2011/12/suppressing-xcode-warnings-on-a-per-file-basis/
上的博客条目总结:使用“构建阶段”选项卡上的编译器标志。
答案 2 :(得分:4)
转到构建阶段> 编译来源。 (可选)过滤列表。选择要排除的那些,然后双击编译器标志列下的空白区域。添加 -w 并点击返回:
答案 3 :(得分:3)
如果您只担心通过包含警告,那么您可以将include语句包装在此:
#pragma clang diagnostic push
// in reality, you will likely need to disable *more* than Wmultichar
#pragma clang diagnostic ignored "-Wmultichar"
#include <TheirLibrary/include.h>
#pragma clang diagnostic pop
如果您还要禁用其生成的构建警告,则可以将-w
或GCC_WARN_INHIBIT_ALL_WARNINGS = YES
用于您链接或捆绑的第三方目标。
理想情况下,如果关闭,您将向供应商提交报告。如果它是开放的,那么也许你应该自己修补它。