LINUX.ORG.RU

libclang и python3

 , ,


0

1

Доброго времени суток! Поставлена задача проанализировать C++ код с помощью Python, хорошим решением кажется использовать биндинги к libclang, у нас весь проект на Python 3 и то что лежит в PyPi репозиториях увы не подходит т.к. не запускается с третим питоном. В LLVM репозитории есть якобы готовые биндинги для Python 3: https://github.com/llvm-mirror/clang/tree/master/bindings/python, но увы не получается их завести и простейшие примеры падают с ошибкой:

clang.cindex.LibclangError: dlsym(0x7f92f065bbb0, clang_getTypedefName): symbol not found. 
Please ensure that your python bindings are compatible with your libclang.so version.

Может быть у кого-нибудь получалось завести? Поделитесь пожалуйста вашим ценнейшим опытом, какой танец нужно станцевать чтобы завести это хоть на чём-нибудь из macOS/Windows/Linux(Ubuntu/Mint/Debian)?



Последнее исправление: evgenymarkov (всего исправлений: 1)

«Please ensure that your python bindings are compatible with your libclang.so version.»

Судя по всему, Вы пытаетесь работать с системным старым clang, используя биндинги из git. Соберите libclang из git руками, инструкция есть на сайте.

vzzo ★★★
()
Ответ на: комментарий от vzzo

Скажите, достаточно ли будет скомпилированную libclang.dll на Windows подсунуть в директорию проекта? Или нужно будет подсовывать весь скомпиленный из git clang? Может быть есть другой путь – найти ревизию биндингов libclang для стабильной версии LLVM стека (4.0.1)?

evgenymarkov
() автор топика
Ответ на: комментарий от Siado

dll -> so/dylib Windows -> linux/macOS

Не принципиально сейчас, главное завести. Желательно всё таки с системным стабильным clang'ом.

evgenymarkov
() автор топика
Ответ на: комментарий от evgenymarkov

Принципиально :)

Под шиндоуз доп движения с CONFIG нужны

Stil ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.