首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Flycheck配置为使用C++11

将Flycheck配置为使用C++11
EN

Stack Overflow用户
提问于 2015-06-20 11:05:26
回答 2查看 12.2K关注 0票数 29

我在为C++11配置flycheck时遇到了很大的问题。现在,flycheck正在标记像std::to_string()这样的东西。我使用的校验器就是g++。我可以在.emacs文件中添加什么,以便flycheck在默认情况下采用C++11?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-21 20:02:54

Flycheck为此提供了选项flycheck-gcc-language-standard。您不应该全局设置它,因为这会中断对C文件的检查,但是您可以在c++-mode-hook中使用初始化文件中的以下代码来设置它:

代码语言:javascript
复制
(add-hook 'c++-mode-hook (lambda () (setq flycheck-gcc-language-standard "c++11")))

但是,我不建议这样做。取而代之的是,使用Directory Variables来配置每个项目的语言标准。

使用C-x d在Dired中打开项目的根目录,然后键入M-x add-dir-local-variable RET c++-mode RET flycheck-gcc-language-standard RET "c++11"。这将在项目的根目录中创建一个.dir-locals.el文件。每当您访问该目录或任何子目录中的文件时,Emacs都会读取该文件,并根据该文件中的规则设置变量。具体来说,Emacs现在会为项目中的所有C++文件将Flycheck语法检查的语言标准设置为C++ 11。

票数 56
EN

Stack Overflow用户

发布于 2017-07-31 22:45:59

答案已经很好了。我只想补充一点,如果您使用clang,那么需要修改的变量就是flycheck-clang-language-standard

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30949847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档