尝试将 clang 模块与 clang-15 和 llvm-15 一起使用时出现错误

问题描述 投票:0回答:1

我想在我的 ubuntu 22.04 上使用 pybind11_mkdocs / clang 模块,但似乎无法克服此错误 ->

undefined symbol: clang_CXXMethod_isDeleted. Did you mean: 'clang_CXXMethod_isDefaulted'

我已经尝试了一百种方法来解决这个问题,但一直卡在这部分代码上。 基本上我已经在我的 Ubuntu 22.04 上安装了 clang 和 llvm 版本 15.0.7 并且想要运行此代码 ->

import clang

import clang.cindex

clang.cindex.Config.set_library_file('/usr/lib/llvm-15/libclang-15.so.1')

id = clang.cindex.Index.create()

我尝试在这篇文章之后安装 llvm 和 clang 版本 5.0.1 -> clang.cindex.LibclangError“未定义的符号 clang_CXXRecord_isAbstract”但无法解决同样的错误。顺便说一句,这是我面临的完整错误 ->

Traceback (most recent call last):

File "/opt/conda/lib/python3.10/site-packages/clang/cindex.py", line 3832, in register_function
func = getattr(lib, item\[0\])
File "/opt/conda/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
func = self.__getitem__(name)
File "/opt/conda/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
func = self.\_FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/llvm-15/lib/libclang.so.1: undefined symbol: clang_CXXMethod_isDeleted. Did you mean: 'clang_CXXMethod_isDefaulted'?
python clang pybind11 pybinding
1个回答
0
投票

好吧,我通过安装特定于我的 clang 版本的 python 模块来避免错误。由于我安装了 clang-15 和 llvm-15,因此我必须 pip install clang==15.0.7 ,可以在这里找到 -> https://pypi.org/project/clang/#history.

© www.soinside.com 2019 - 2024. All rights reserved.