comment ajouter c++11 soutien à syntastic vim plugin?
Je suis en utilisant syntastic dans mon c++11 projet. Quand je suis l'édition dans vim, et de l'enregistrer (:l) la syntastic plugin me donne des erreurs sur chaque liste d'initialiseur {} et pour chaque boucles qui sont clairement c++11 caractéristiques qu'il est manquant.
J'ai installé syntastic l'aide d'un agent pathogène.
Voici deux exemples de l'erreur que j'obtiens sur l'initialiseur de listes et pour chaque boucle (c++11 qui compile très bien):
- Qu'est-ce que la sortie de
:echo b:clang_user_options
commande à partir d'un tampon d'appartenance au projet? Si votre hypothèse est correcte, il n'y aura pas-std=c++
sous-chaîne. - La sortie de
:echo b:clang_user_options
est-I/usr/include -std=c++11 -stdlib=libc++
. Donc je ne comprends pas pourquoi j'obtiens les erreurs liées à l'initialiseur de listes et pour chacune des boucles. Je vais ajouter un exemple d'erreur à la grande poste. - S'avère que c'est pas clang_complete, c'est syntastic. Je mettrai à jour le post et la réponse.
Vous devez vous connecter pour publier un commentaire.
S'avère que le C++ linter (vérificateur de syntaxe) de syntastic a de nombreuses options qui peuvent être définies sur votre .vimrc (malheureux, je voudrais qu'il a été spécifiques au projet, comme le .clang_complete solution).
Pour activer le c++11 les normes et l'utilisation de la libc++ de la bibliothèque avec clang (qui est ce que mon projet est d'utiliser) j'ai ajouté les lignes suivantes dans mon ~/.vimrc
il fonctionne maintenant à merveille.
-stdlib=libc++
pour qu'il fonctionneJ'ai été confrontée au même problème et j'insiste pour c++98 et c++11 séparément. voici ma solution:
créer un fichier nommé gcc.vim sous bundle/syntastic/syntax_checkers/cpp11/ et les copier sur elle:
qui fera de gcc checker disponible (si vous voulez d'autres checker? vous pouvez faire la même choses que j'ai fait pour toi) pour les fichiers avec &type == 'cpp11" dans vim. comment faire automatiquement vos fichiers se succèdent dans le temps comme cpp11 type de fichiers dans vim? il suffit de créer un fichier nommé ext_detect.vim sous ~/.vim/ftdetect/ avec le contenu suivant:
de cette manière, vous pouvez traiter votre *.rpc fichiers c++98 standard et *.cpp11 ou *.cppx que c++11 séparément, non seulement la vérification de la syntaxe, mais aussi de la syntaxe (si vous avez besoin d'cpp11 la coloration syntaxique de soutien, ce plugin vim sera utile, bien que pas parfait).
Il a des options spécifiques à un projet, comme le .clang_complete solution
Vous pouvez définir le chemin d'accès aux fichiers g:syntastic_cpp_config_file et g:syntastic_c_config_file. La valeur par défaut est .syntastic_cpp_config pour le C++. Placer le fichier dans la racine du projet et les options du compilateur à l'intérieur (un pour chaque ligne)
pour détails
Si votre aide YouCompleteMe en plus de Syntastic vous avez besoin de changer votre .ycm_extra_conf.py fichier. Sepcifically change '-Wc++98-compat' à '-Wnoc++98-compat'.
Je n'ai pas eu à changer la Syntastic paramètres de moi-même, c'est peut-être parce que je suis en utilisant un compile_commands.fichier json.
par ici.
Si vous utilisez YouCompleteMe,vous devriez peut-être changer".ycm_extra_conf.py'.seul changement, les drapeaux:(chemin d'accès au fichier~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py) ;