Flycheck UsePackage with C ++ 11

时间:2017-04-03 08:45:37

标签: c++11 emacs flycheck

我使用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)。

我错过了什么?

1 个答案:

答案 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")))

没有错误。