2014-09-20 39 views
2

我當時在C++的一個項目中工作,突然間我的Mac說Xcode已經完成更新,所以我剛從彈出窗口退出,並沒有想到任何事情。我回到我的項目並試圖運行我的makefile,它說我需要root來接受Xcode的條款。所以,我啓動了Xcode,接受了條款,然後退出。現在,當我在Vim上工作時,出現各種錯誤。例如。Xcode打破了YouCompleteMe錯誤突出顯示

#include<iostream> // 'iostream' file not found 
#include<string> 

int main() 
{ 
    std::cout << "hello" << std::endl; // use of undeclared identifier 'std' 
    return 0; 
} 

我不知道發生了什麼事。有誰能夠幫助我?

我用g++編譯,這是g++ --version輸出:現在

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx- include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.3.0 
Thread model: posix 

Xcode版本是6.0.1

所有這一切,我似乎仍然能夠編譯我的代碼。我只是在Vim中獲取所有類型的錯誤,與此Xcode更新有關。

我使用YouCompleteMe進行錯誤突出顯示。

+1

湯姆·克魯斯與你顯然不滿。 – 2014-09-21 01:24:46

回答

3

我相信我找到了解決方案。我假設當Xcode更新時,其文件夾結構發生了變化。

我通過更改我的.ycm_extra_conf.py修復了此問題。我改變了標誌線

'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1' 

'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1',