-1

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

尽管我设置了正确的变量,但在c++11语法(例如)flycheck上给了我一个错误。auto i = 10

我错过了什么?

4

1 回答 1

0

我想我曾经遇到过同样的问题。我现在不能测试它(今天晚些时候会做),但我最终做的是在 c++-mode 中添加一个钩子,而不是设置flycheck-clang-language-standard变量。

这是我的初始化文件中的代码。

(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 突出显示autocpp 文件中的变量,我可以在 minibuffer 中看到以下信息。

右值引用是 C++ 扩展

当我将我的 init.el 文件更改为

(require 'flycheck)
(flycheck-mode)
(add-hook 'c++-mode-hook
          (lambda () (setq flycheck-clang-language-standard "c++11")))

没有错误。

于 2017-05-30T07:18:43.163 回答