如何添加包含路径的flycheck c/c++-clang
How to add include path to flycheck c/c++-clang?
我试图添加包含路径到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 <foo.h>
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,这显然不起作用。
我不想通过这个答案获得荣誉,但它可能对某人有用。
使用接受的答案和注释将flycheck变量设置为目录变量:
在~/myproject
中有一个带有c++源代码的项目。
添加~/myproject/.dir-locals.el
文件,内容如下:
((nil . ((eval . (setq flycheck-clang-include-path
(list (expand-file-name "~/myproject/include/")))))))
相关文章:
- 奇怪的结构&GCC&clang(void*返回类型)
- 数据成员SFINAE的C++17测试:gcc vs clang
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- Clang bug?使用指针作为模板参数
- clang整洁10忽略了我的NOLINT命令
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 在clang++预处理器中确定gcc工具链版本
- 为什么 Clang 不允许"and"作为函数名称?
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- clang格式:宏的缩进
- CLANG 编译器 说:变量"PTR"可能未初始化
- clang格式:禁用排序包含
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- 循环展开 - G++ 与 Clang++
- 如何使用Clang/GCC在Mac上为C/C++设置VSCode
- 一位朋友将模板函数缩写为clang和gcc
- 如何添加包含路径的flycheck c/c++-clang