vim C++17中文版:分解声明警告

yjghlzjz  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(174)

我希望正确设置YouCompleteMe,这样我就不会在C++文件中收到以下警告:
第一个
我补充道

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

~/.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py

并将以下内容添加到
第一个

eni9jsuy

eni9jsuy1#

我决定删除以前的安装,并从命令行做一切(假设以前的Vundle安装如YouCompleteMe文档中推荐的那样)。


# typical installation directory for vundle and pathogen

cd ~/.vim/bundle

# clone the repository for YouCompleteMe

git clone https://github.com/Valloric/YouCompleteMe.git
cd YouCompleteMe

# and all submodules

git submodule update --init --recursive

# install

python3 install.py --clang-completer

接下来,我创建了一个简单的ycm_extra_conf.py(没有.dot),其中包含:

def FlagsForFile ( filename,**kwargs ):
    return {
        'flags': ['-x', '-Wall', '-Wextra', '-Werror', '-std=c++2a']
    }

我添加了c2a标志,但c17也应该可以工作。
然后在~/.vimrc文件中指向此文件。

let g:ycm_global_ycm_extra_conf = '$HOME/.vim/bundle/YouCompleteMe/ycm_extra_conf.py'

注意:您可能需要将添加到您的~/.vimrc

Plugin 'Valloric/YouCompleteMe'

在vimrc文件中。
和运行(从vim)

:PluginInstall

我没有做这些步骤,因为我已经安装了YouCompleteMe以前。
这似乎已经解决了我的问题。希望这能对某人有用。

moiiocjp

moiiocjp2#

只需将.ycm_extra_conf.py中的标志'-std=c++11'更改为'-std=c++17'即可。
对我来说很管用。

相关问题