【问题标题】:Turn off warnings coming from subprojects关闭来自子项目的警告
【发布时间】:2013-01-28 04:20:26
【问题描述】:

有人可以帮我关闭 Xcode 4 中我从子项目中获得的警告吗?

我有三个子项目,有很多警告。子项目由我客户的研发工作室提供。我想关闭那里的警告,把我所有的精力和注意力放在我自己代码中的警告上。

这在 Xcode 4 中可行吗?

【问题讨论】:

    标签: xcode xcode4 compiler-warnings


    【解决方案1】:

    如果您使用的是 Xcode 4.2 或更高版本,则可以为您拥有的每个子项目在 Warning Polices 中使用 LLVM 编译器设置 Inhibit All Warnings

    【讨论】:

    • 在我的例子中,子项目是一个 git 子模块。它归第 3 方所有并且不断更新,所以我真的很想避免修改它的任何文件。有没有办法在主项目级别做到这一点?谢谢。
    • 是的,如果您为第 3 方项目创建一个私有 cocoapods 存储库,您可以将其包含在一个 pod 文件中,并使用 inhibitor_all_warnings 关闭警告!选项。你可以在这里找到更多信息cocoapods.org
    【解决方案2】:

    仅部分解决方案:

    如果您的子项目构建的库或包不必在每次运行时重新编译,您可以激活“最近的文件管理器”(见图,蓝色时钟)。然后,仅显示上次编译器运行的警告和错误。

    【讨论】:

    • 我一直有这个问题,这个解决方案对我不起作用:子项目警告仍然显示,而且它使导航项目更加混乱。
    • @VicSmith:我猜,您的子项目不会生成库或捆绑包;因此他们可能每次都编译。您可以做的是“按文件”对问题进行排序并在问题检查器中折叠您的子项目。然后每个子项目只会得到一个问题标志。
    • 谢谢@Matthias,但这不是我正在寻找的解决方案。
    【解决方案3】:

    如果库不是太大,您可以使用逐个文件禁用警告

    #pragma GCC diagnostic ignored "-Wwarning-flag"
    

    【讨论】:

    • 其中一个库是一个有 15 年历史的库,包含 1000 多个源代码文件 :(。我只想在从应用项目编译源代码时禁用警告。而不是在他们工作时库
    • 对不起 :) 大多数特定类型的错误只是一般错误吗?将它们作为静态库在单独的项目中编译,然后在没有实际源代码的情况下包含这些库怎么样?
    • 因为根据客户的要求,我需要将这些库作为 xcode 中的子项目
    • 好的,我明白了,但只是为了开发时间,您可以预编译这些库,以避免在工作时出现警告。将代码交付给客户端时,删除您的库,将源代码作为子项目放回并交付给客户端。
    • 在开发过程中,我需要与客户共享项目。我最初的问题是:“有一种方法可以从子项目中关闭 xcode 中的警告?”。任何从上下文中删除子项目的解决方案都值得赞赏,但不是我正在寻找的解决方案。
    猜你喜欢
    • 2013-09-29
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2015-05-19
    相关资源
    最近更新 更多