Xcode打破了YouCompleteMe错误突出显示

时间:2014-09-20 22:31:20

标签: c++ xcode vim g++ clang

我在C++工作了一个项目,突然间我的Mac说Xcode已经完成了更新,所以我刚退出弹出窗口而没想到它。我回到我的项目并尝试运行我的makefile,它说我需要root才能接受Xcode的条款。所以,我刚启动Xcode,接受条款,然后退出。现在,当我在Vim中处理我的项目时,我遇到了各种各样的错误。 E.g。

#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 个答案:

答案 0 :(得分: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',