我试图将包含路径添加到flycheck
c/c ++ - clang,但它没有用.
我foo.h
输入~/local/include
并添加以下行init.el
:
(add-hook 'c++-mode-hook (lambda () (setq flycheck-clang-standard-library "libc++"))) (add-hook 'c++-mode-hook (lambda () (setq flycheck-clang-language-standard "c++1y"))) (add-hook 'c++-mode-hook (lambda () (setq flycheck-clang-include-path (list "$HOME/local/include/"))))
并在一个名为test.cpp
我写的文件中
#include
flycheck
说
找不到'foo.h'文件
我究竟做错了什么?我正在使用emacs24
,flycheck.el
从package.el
和clang3.4
.
使用expand-file-name
和~
引用主目录中的路径:
(add-hook 'c++-mode-hook (lambda () (setq flycheck-clang-include-path (list (expand-file-name "~/local/include/")))))
Flycheck不使用系统shell来运行Clang,也不会尝试在命令行中扩展shell参数.因此,$HOME
从字面上传递给Clang,这显然不起作用.