2012-01-31 61 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