Vim YouCompleteMe c++;17:关于分解声明的警告 >我想正确设置你,这样我就不会在C++文件上得到以下警告: 。。。 自动[k,v]=mapIt;//一些映射迭代器 ...

Vim YouCompleteMe c++;17:关于分解声明的警告 >我想正确设置你,这样我就不会在C++文件上得到以下警告: 。。。 自动[k,v]=mapIt;//一些映射迭代器 ...,vim,c++17,youcompleteme,Vim,C++17,Youcompleteme,我补充说 flags.append( '-std=c++17' ) 在 并将以下内容添加到 ~/.vimrc 我决定删除以前的安装,并从命令行执行所有操作(假设以前的Vundle安装符合YouCompleteMe文档中的建议) #vundle和vundle的典型安装目录 cd~/.vim/束 #为YouCompleteMe克隆存储库 git克隆https://github.com/Valloric/YouCompleteMe.git 你完成了吗 #和所有子模块 git子模块更新--初

我补充说

   flags.append( '-std=c++17' ) 

并将以下内容添加到

~/.vimrc

我决定删除以前的安装,并从命令行执行所有操作(假设以前的Vundle安装符合YouCompleteMe文档中的建议)

#vundle和vundle的典型安装目录
cd~/.vim/束
#为YouCompleteMe克隆存储库
git克隆https://github.com/Valloric/YouCompleteMe.git
你完成了吗
#和所有子模块
git子模块更新--初始化--递归
#安装
python3 install.py--叮当完成器
接下来,我创建了一个简单的ycm_extra_conf.py(不带.dot),其中包含:

def FlagsForFile(文件名,**kwargs):
返回{
'flags':['-x'、'-Wall'、'-Wextra'、'-Werror'、'-std=c++2a']
}
我添加了c++2a标志,但是c++17也应该可以工作

然后指向~/.vimrc文件中的这个文件

let g:ycm_global_ycm_extra_conf = '$HOME/.vim/bundle/YouCompleteMe/ycm_extra_conf.py'
注意:您可能需要添加到~/.vimrc

Plugin 'Valloric/YouCompleteMe'  
在vimrc文件中

let g:ycm_global_ycm_extra_conf = '$HOME/.vim/bundle/YouCompleteMe/ycm_extra_conf.py'
并运行(从vim)

我没有执行这些步骤,因为我以前安装了YouCompleteMe


这似乎解决了我的问题。希望这对某人有用。

我不确定StackOverflow是否是为您获得帮助的最佳渠道CompleteMe。我建议你看一看。我已经将你的编辑内容回滚了。回答堆栈交换问题的正确方法是发布答案
let g:ycm_global_ycm_extra_conf = '$HOME/.vim/bundle/YouCompleteMe/ycm_extra_conf.py'
Plugin 'Valloric/YouCompleteMe'  
:PluginInstall