Libclang 不要遵循包含语句
Libclang don't follow include statement
我试图使用Libclang对Opencv库进行编程分析,但当我试图从Opencv opencv.hpp
导入主标头时,Libclang不会遵循路径。
以前,它读所有的东西都很漂亮,但后来我觉得它遵循了$PATH
的标题,我希望它遵循这些具体的标题。
opencv.hpp
是一个包含许多#include
语句的文件,如:
#include "core/core_c.h"
#include "core/core.hpp"
#include "flann/miniflann.hpp"
// ... and so on
但是,当我尝试用libclang
或clang ./opencv.hpp
打开它时,它不会跟随:
clang ./Header_Example/opencv.hpp
./Header_Example/opencv.hpp:46:10: fatal error: 'core/core_c.h' file not found
#include "core/core_c.h"
^
1 error generated.
但我确信它在正确的目录上(有点像我的tree
输出):
── Header_Example
│ ├── opencv.hpp
│ ├── opencv2
│ │ ├── # more directories
│ │ ├── core
│ │ │ ├── affine.hpp
│ │ │ ├── core.hpp
│ │ │ ├── core_c.h
│ │ │ ├── types_c.h
│ │ │ ├── version.hpp
│ │ │ └── wimage.hpp
也许我没有使用正确的clang
参数?
一点上下文:我想分析Opencv类型、类和函数,这些信息出现在标题中,所以我认为我不需要完整的库来阅读代码。当我试图使用完整的图书馆时,我发现自己遇到了麻烦。我需要使用库的iOS编译(?)版本(?),因此我将编译版本的头文件复制/粘贴到此工作目录中(对不起?:)
编辑1:我的目录有这个opencv2/
可能看起来很奇怪,但如果我从里面删除标题,clang会抱怨"为什么它们不在那里:fatal error: 'opencv2/core/types_c.h' file not found
我只需要在添加-I./opencv2
之前添加-I.
,因为我有一个文件,与opencv.hpp
位于同一目录。天哪,我错过了这个,真是愚蠢。
相关文章:
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 如何在此代码中包含 While 语句
- 尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符.有一点麻烦
- gsl::抑制整个包含语句
- 我是否应该在包含语句的末尾添加分号
- C++模板中的条件语句,只能由编译器基于条件包含
- 头文件中可以包含"using namespace"语句吗?
- c++程序是否可以在if/else语句中包含switch语句
- 如何创建包含 goto 语句的主菜单函数
- 循环包含导致链接错误的语句
- 包含语句:找不到 SDL/SDL.h 文件
- 包含所有必需 #include 语句的单个头文件
- 如何在我的 for 循环宏中包含多个语句
- C++Bare布尔表达式(不包含if、while或其他语句)
- Do..While循环可能带有if..else语句中包含临时变量
- 将OSX Clang配置为区分大小写以包含语句
- 视觉 为什么即使我没有包含 return 语句,C++中返回"int"的函数也会编译?
- “__asm”语句中应包含表达式
- c++包含语句和链接
- Libclang 不要遵循包含语句