2013-04-12 47 views
1

OS X 10.6.8時,Xcode 3.2.6,基地SDK 10.5,英特爾編譯器11.1英特爾C++編譯器,可以在OS X不開STDARG.H

我得到一個奇怪的消息時,我嘗試編譯說:

catastrophic error: could not open source file "stdarg.h"

我使用的是PCH,我確實發現:Xcode Intel compiler icc cannot find #include <algorithm>

這是一個類似的問題,我認爲,源文件類型設置爲.c.c,而不是.c

從我所看到的是STDARG.H:

/* This file is public domain. */ 
/* GCC uses its own copy of this header */ 
#if defined(__GNUC__) 
    #include_next <stdarg.h> 
#elif defined(__MWERKS__) 
    #include "mw_stdarg.h" 
#else 
    #error "This header only supports __MWERKS__." 
#endif 

所以必須GNUC定義,很明顯。

任何人都可以幫我弄清楚如何更好的編譯,因爲這個工程沒有改變GCC 4.0?有沒有一種全球性的方式,可能有XCode重新評估源文件類型不是.c.c.cpp.cpp我甚至不知道這將如何發生。

另外,有沒有#define,我可以檢查英特爾編譯器是否被用來作出特殊情況,如果我需要?

+0

我查看了構建結果中引用的幾個文件,並在XCode中查看'source file type'它說'source.cc',我想如果我將其更改爲'source.c',那編譯器錯誤消失了。 – Jason

+0

繼續並回答你自己的問題......並不是很多人會使用類似的設置。 –

+0

@Grady - 你有什麼想法,爲什麼文件可以被視爲'c.c'或'.c'以及'.cpp.cpp'和'.cpp'?我不知道爲什麼'.c.c'和'.cpp.cpp'甚至有效 – Jason

回答

0

我查看了構建結果中引用的幾個文件,並在XCode中查看源代碼文件類型,它說source.c.c,我認爲如果將其更改爲source.c,編譯器錯誤消失。

相關問題