我在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
进行错误突出显示。
答案 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',