【问题标题】:How do I make XCode show me warnings in my C code?如何让 XCode 在我的 C 代码中显示警告?
【发布时间】:2012-01-31 02:09:27
【问题描述】:

当我使用 Makefile 构建时,我将 -Wall -g 添加到我的 gcc 参数中以获取警告。

所以当我构建这段代码时:

#include <stdio.h>

int main()
{
}

我收到此警告:

main.c: In function ‘main’:
main.c:10: warning: control reaches end of non-void function

但是,当我在 XCode 中构建相同的代码时,我看不到任何警告。

我认为 XCode 使用的是 LLVM 而不是 GCC,但必须有一个等价物。如何在 XCode 中打开它?

【问题讨论】:

  • 我们需要更多信息。什么版本的 Xcode 和 Mac OS X?用 clang 构建的任何东西都应该显示类似的警告。您还需要在“其他编译器选项”下启用 -Wall,因为它默认未启用。
  • 对于Xcode 3,点击任意窗口右下角的小警告图标,就会弹出一个错误信息窗口。对于 Xcode 4,您为构建错误选择正确的“导航器视图”。

标签: c xcode


【解决方案1】:

我认为 XCode 使用的是 LLVM 而不是 GCC,但必须有一个等价物。如何在 XCode 中打开它?

您可以从构建选项区域中选择编译器。

  1. 在导航器中单击项目
  2. 点击所需的目标
  3. 点击构建设置
  4. 在下面的搜索字段中设置GCC_VERSION
  5. 选择要使用的编译器。

如果您现在清除搜索字段,您可以向下滚动以启用特定警告。

请注意,LLVM + GCC 是带有 LLVM 优化器的 GCC 前端。

Clang 不支持 GCC 支持的所有选项。它还支持一些新的或差异。因此,针对两者进行构建是个好主意。

【讨论】:

  • 谢谢!我认为这可能是问题所在。我又玩了一些,得到了 other 警告显示,只是不是我正在寻找的特定警告。所以我的猜测是 LLVM 只是没有那个警告,至少在我目前的配置下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
  • 1970-01-01
  • 2018-10-14
  • 2014-08-26
  • 1970-01-01
  • 2011-06-12
相关资源
最近更新 更多