问题标签 [libclang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 无法将 libclang 与 Qt 一起使用
当我尝试在 Qt 应用程序中使用 libclang 时遇到了一个奇怪的错误。
测试.cpp
test.pro
Shell 命令和输出:
如果我在不使用 qmake 的情况下手动运行 g++,我会得到同样的错误:
- 如果我注释该
w.show();
行,即使它进入主循环而没有显示窗口,程序也会编译并运行。 - 如果我注释
CXIndex index = clang_createIndex(0, 0);
和Q_UNUSED(index)
行,程序将编译并运行。它进入主循环,窗口可见。 - 我也用clang编译了这个,我得到了同样的错误信息。
- 我在网上搜索,只发现这个结果带有类似的错误消息,但我不知道它是否以及如何帮助我:http ://comments.gmane.org/gmane.comp.compilers.llvm.devel/34647 .
我正在使用 Qt 5.1 和 ArchLinux,我clang
安装了包含 libclang 头文件和文件 /usr/lib/libclang.so 和 /usr/lib/libclang.a 的包(版本 3.3)。
该程序不起作用的原因是什么,我该如何解决?
更新:我找到了这个页面。跑步LIBGL_ALWAYS_INDIRECT=1 ./test
效果很好,但我想要的不止这些。我不应该设置那个环境变量来运行我的程序。
clang - 在 mac 10.6.8 上安装 libc++
我目前正在尝试在我的 Mac 上安装 lib++.1.dylib。我按照这里的说明http://libcxx.llvm.org/下载了源代码。当我尝试时./buildit
遇到clang++: command not found
错误。
所以我去了这里http://clang.llvm.org/get_started.html并安装了clang。不幸的是,现在当我重新安装 libcxx 时,我仍然收到 clang++ 错误。Clang 本身clang --help
的工作原理是打开帮助菜单。
安装 Xcode 不是一个选项,因为我正在运行 10.6.8。
我该如何继续,即让 clang++ 命令工作?
c - Libclang API 用于获取在不同文件中定义的函数定义
假设我有两个文件 main.c 和 func.c func.c 是从 main.c 的 main 函数调用的。通常,我会生成 main.o 和 func.o 并且链接器会找到 func 的定义并将其绑定到它在 main .c 中的调用
现在,我想通过 libclang API 做同样的事情。这是我正在制作的 Doxygen 类型代码浏览实用程序。我能够解析这两个文件。从这里开始,我不知道如何进行。我应该生成 *.o 文件并让 clang 链接它们吗?
谢谢,我希望我问的问题很清楚
vim - 使用 Clang (clang_complete, YouCompleteMe) 的 Vim 的 C 系列语义自动完成插件(C/C++ 完成)
我在 Windows 上使用 64 位 Vim,Haroogan 的这个版本:
我正在尝试使用clang_complete,所以我在这里libclang.dll
使用了库并正确设置了我的库。被发现。vimrc
libclang.dll
但是,当我打开*.cpp
文件时,我现在收到一条消息:
libclang
找不到内置包含这将导致缓慢的完成代码
但我根本没有完成......
我在构建我使用的 Vim 版本的人那里找到了这篇文章,但是没有明确的指示说明该怎么做。有人可以帮忙吗?
更新
这是我所做的:
- 使用 Vim YouCompleteMe for Windows
- 为 Windows 使用LLVM
- 从中取出 liclang.dll 并将其卡在 YCM python 目录中
- 拿了.ycm_extra_conf.py并将其与我的 cpp 文件一起使用
它几乎可以工作(我没有任何错误消息),但我仍然得到:
objective-c - 如何使用 libclang 查找目标 c 方法实现的行
我想获取目标 c 方法开始执行的行号。
输出应该是:2,6
我怎样才能用libclang实现它。
我不想为此使用正则表达式,因为它就足够了。
function - 使用 libclang 评估函数宏和表达式
是否可以使用 libclang 评估表达式和函数宏?
像这样的东西(表达式):
或者带有函数宏的东西:
我可以标记宏或获取其原始文本,但我看不到任何评估它的方法。
objective-c - 如何跳过包括使用 libclang?
我正在使用 libclang 来解析一个目标 c 源代码文件。以下代码查找所有 Objective-C 实例方法声明,但它也查找包含中的声明:
如何跳过来自标题包含的所有内容?我只对源文件中我自己的 Objective-C 实例方法声明感兴趣,而不对任何包含感兴趣。
例如,不应包括以下内容
c++ - 使用 python libclang 检索评论
在以下头文件中,我想获得+reflect
对类和成员变量的相应注释:
使用 libclang 的 python 绑定和以下脚本:
给我这个输出:
问题是缺少评论。它们被预处理器剥离了吗?有什么办法可以防止这种情况发生吗?
clang - clang 无法独立解析我的 .h 文件
我正在使用 libclang 的 python 绑定,但我认为这个问题是由 libclang 而不是 python 绑定引起的。
我有一个标题object.h
和一个实现object.cpp
如果我访问 的翻译单元的object.h
AST,最后一个 AST 节点就是VAR_DECL
class Object
这样。它不会访问public:...
部分。如果我使用 clang 直接检查语法会抱怨我的头文件是错误的。
如果我使用 clang 转储 ast of object.cpp
,则不会出现该错误。
似乎clang结合object.h
object.cpp
在一起然后进行解析。如果是这样,我如何获得Object
第三行的 ast 节点object.cpp
int Object::run() {
?有一个 ast 节点吗?
它也让我很困惑,当我访问run()
方法时object.cpp
,它会说当前位置在,object.cpp
但范围在object.h
。程度究竟是什么意思?除了 libclang API 文档之外还有更简单的教程文档吗?
c - LibClang:用另一个头文件的定义解析一个头文件?
我正在使用最新的 LibClang 来解析一些 C 头文件。我处理的代码来自 CXUnsavedFile(它都是动态生成的,磁盘上没有任何内容)。例如:
FileA.h 包含:
FileB.h 包含:
使用以下代码片段解析 fileA.h 时:
我收到错误“ field has incomplete type 'struct STRUCT_B'
”,这是有道理的,因为我没有包含 fileB.h 来定义结构 STRUCT_B。
添加“#include <fileB.h>”不起作用(fatal error: 'fileB.h' file not found
)。
当另一个 CXUnsavedFile fileB.h 中存在一个或多个需要的定义时,如何让解析 fileA.h 工作?