我使用use-package
进行emacs配置。
遗憾的是,我无法正确配置flycheck
包以使用C ++ 11扩展。
这是我到目前为止所做的:
;; == Flycheck ==
(use-package flycheck
:ensure t
:defer t
:init
(global-flycheck-mode)
:config
(setq flycheck-clang-language-standard "c++11"))
虽然我设置了正确的变量,flycheck
给出了 c ++ 11 语法错误(例如auto i = 10
)。
我错过了什么?
答案 0 :(得分:0)
我想我曾经遇到过同样的问题。我现在无法测试它(今天晚些时候会这样做)但我最终做的是添加一个钩子到c ++ - 模式而不是设置flycheck-clang-language-standard
变量。
这是我的init文件中的代码。
(add-hook 'c++-mode-hook
(lambda () (setq flycheck-clang-language-standard "c++11")))
您可以尝试在use-package
中使用它。
修改强>
好的,我刚检查了一下。在我的init.el文件中,我只有
(require 'flycheck)
(flycheck-mode)
(setq flycheck-clang-language-standard "c++11")
flycheck在cpp文件中突出显示auto
变量,我可以在迷你缓冲区中看到以下信息。
右值引用是C ++扩展
当我将init.el文件更改为
时(require 'flycheck)
(flycheck-mode)
(add-hook 'c++-mode-hook
(lambda () (setq flycheck-clang-language-standard "c++11")))
没有错误。