python使用libclang的环境搭建,找不到Libclang

发布于 2022-08-28 12:16:53 字数 1914 浏览 24 评论 0

我已经将C:\Program Files (x86)\LLVM\bin加入到环境变量里的path里了
在代码中也用

clang.cindex.Config.set_library_file('C:\Program Files 
(x86)\LLVM\bin\libclang.dll')

指明了libclang.dll的位置
测试用的test.py整个文件是

import sys
import clang.cindex

def find_typerefs(node, typename):
    """ Find all references to the type named 'typename'
    """
    if node.kind.is_reference():
        ref_node = clang.cindex.Cursor_ref(node)
        if ref_node.spelling == typename:
            print 'Found %s [line=%s, col=%s]' % (
                typename, node.location.line, node.location.column)
    # Recurse for children of this node
    for c in node.get_children():
        find_typerefs(c, typename)
clang.cindex.Config.set_library_file('C:\Program Files (x86)\LLVM\bin\libclang.dll')
index = clang.cindex.Index.create()
tu = index.parse(sys.argv[1])
print 'Translation unit:', tu.spelling
find_typerefs(tu.cursor, sys.argv[2])

但是运行是仍提示找不到libclang
错误信息为
Traceback (most recent call last):
File "C:\Users\willzhang\Desktop\test_clang\test.py", line 16, in
index = clang.cindex.Index.create()
File "C:\Users\willzhang\Desktop\test_clang\clang\cindex.py", line 2047, in create
return Index(conf.lib.clang_createIndex(excludeDecls, 0))
File "C:\Users\willzhang\Desktop\test_clang\clang\cindex.py", line 141, in get
value = self.wrapped(instance)
File "C:\Users\willzhang\Desktop\test_clang\clang\cindex.py", line 3357, in lib
lib = self.get_cindex_library()
File "C:\Users\willzhang\Desktop\test_clang\clang\cindex.py", line 3388, in get_cindex_library
raise LibclangError(msg)
LibclangError: [Error 126] . To provide a path to libclang use Config.set_library_path() or Config.set_library_file().
请问这是怎么回事^_^

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文