2012-01-31 86 views
3

当我使用Makefile生成时,我将-Wall -g添加到我的gcc参数中以获取警告。如何让XCode在我的C代码中显示警告?

所以,当我建立这个代码:

#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,但必须有一个equivelant。我如何在XCode中打开它?

+0

我们需要更多信息。什么版本的Xcode和Mac OS X?任何用clang构建的东西都应该显示类似的警告。您还需要在“其他编译器选项”下启用-Wall,因为默认情况下它未启用。 – 2012-01-31 02:34:34

+0

对于Xcode 3,单击任何窗口右下方的小警告图标,将弹出一个错误消息窗口。对于Xcode 4,您为构建错误选择正确的“导航器视图”。 – 2012-01-31 03:39:45

回答

1

我想XCode使用的是LLVM而不是GCC,但必须有一个equivelant。我如何在XCode中打开它?

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

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

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

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

Clang不支持GCC所做的所有选项。它也支持一些新的或不同之处。因此,针对两者构建一个好主意。

+0

谢谢!我认为这可能是问题。我玩了更多,并得到其他警告显示,只是不是我正在寻找的具体的警告。所以我的猜测是LLVM没有这个警告,至少在我目前的配置下。 – joshuapoehls 2012-01-31 15:12:44