我正在尝试使用下一个命令执行clang 5.0,但它不起作用..我输入:
import clang
import clang.cindex
clang.cindex.Config.set_library_file('/usr/lib/x86_64-linux-gnu/libclang-5.0.so.1')
id = clang.cindex.Index.create()
我收到以下错误:
clang.cindex.LibclangError:/usr/lib/x86_64-linux-gnu/libclang-5.0.so.1:undefined symbol:clang_CXXRecord_isAbstract。请确保您的python绑定与您的libclang.so版本兼容。
我正在使用clang-5.0和https://github.com/llvm-mirror/clang
的绑定答案 0 :(得分:4)
<强>窗强>
我现在还没有对此进行测试,但一个月前它对我有用。
从github下载src code并转到/ bindings / python /并复制clang目录并将其粘贴到您的python站点包dir 或(尝试两者) pip install clang-5
下载llvm binares。如果你有python-32bit然后安装llvm 32bit !!否则它不会工作。对于64位python安装64位二进制文件
import clang.cindex as cl
并在你的代码中执行cl.Config.set_library_file("your/path/to/libclang.dll")
libclang.dll应该在你的clang / bin安装目录中<强>的Linux 强>
现在运行它,所以它对我有用
pip3 install clang-5
获取llvm-clang或llvm-clang-32bit 取决于你的python安装
在你的python程序中只有import clang.cindex as cl
并在你的代码中执行cl.Config.set_library_file("your/path/to/libclang.so")
根据我的经验,libclang.so应位于/ usr / lib32 /或usr / lib64 /
希望这有帮助!