YouCompleteMe, header files
YouCompleteMe, header files
我正在使用YouCompleteMe处理一些c++头文件。头文件不包括查找它正在使用的所有类所需的所有其他头文件。在不修改头文件的情况下,我可以修改我的.ycm_extra_conf.py文件以使clang知道它需要的额外头文件吗?
作为一个例子,假设我有三个文件"A.h","B.h"answers"c.c cc"。
C.cc
#include "A.h"
#include "B.h"
A.h
class A {};
B.h
class B : A {};
B包含文件不能自己编译,但是C.cc可以正确编译,因为它以正确的顺序包含内容。但是,如果我自己打开B.h,它会抱怨没有定义A。
我知道C.cc可以正确编译,那么我如何告诉YCM在打开B.h时将其编译在与C.cc相同的上下文中?标记似乎不足以告诉YCM如何编译文件,因为它需要用C.cc编译。
在您的.ycm_extra_conf.py
中添加您的常规预处理器标志,例如:
flags = [
'-Wall',
'-Wextra',
'-Wno-variadic-macros',
'-fexceptions',
'-DNDEBUG',
'-DUNIT_TESTS',
'-std=c++11',
'-x', 'c++',
'-isystem', '/home/sehe/custom/boost',
'-isystem', '/usr/lib/gcc/x86_64-linux-gnu/4.8/include',
'-I', 'src',
'-I', 'include',
'-isystem', '/usr/include',
'-isystem', '/usr/local/include',
]
相关文章:
- 函数未在作用域中声明 / 如何结合使用 header.h、header.cpp 和 main.cpp?
- 解释通过 lex/flex 实现 C/C++嵌套的"#include "Header""语法?
- typedef vector size_type in header file
- 为什么 C++ 编译器在"c:program filesgnu emacsinclude"中查找包含文件?
- C++17 std::variant header file (clang 6.0.0)
- Header of _tcsstr
- "#include <path/to/header>"指令的含义(如"#include <loki/Functor.h>")
- JavaScript "header"文件来存储一些数据
- 如何修复'PCH Warning: header stop not at file scope'
- Android CMake "致命错误: 'bits/libc-header-start.h' 文件未找到"
- QAbstractTableModel::header data and QML TableView
- MFC 对话框控件的"Accept Files"选项如何工作?
- 如何在"Microsoft Visual Studio Community 2015"的现有"C++ Project"中创建新"header file (.h)"?
- 以简单格式"c:filessample.txt"从用户读取文件路径
- /usr/include/boost/filesystem/path.hpp:307:未定义对'boost::files
- MinGW在代码块中构建时的ar.exe "could not create temporary file whilst writing archive: no more archived files
- 标准Windows 7用户如何能够删除C:Program Files下的文件
- header for fopen visual studio 2015 community edition
- header / cpp files
- YouCompleteMe, header files