Quantcast
Channel: AFPy's Planet
Viewing all articles
Browse latest Browse all 3786

Utilisation de pybind11

$
0
0

Coucou ici,

Je tente de générer un binding python pour une librairie. Pour le moment, je ne gère qu’une classe avec une seule méthode.

Mais quoi que je fasse, j’obtiens toujours une erreur “undefined symbol”.

Quelques infos :

  • La librairie compile bien, en dynamique ou en statique.
  • j’ai réussi à générer les exemples donnés par pybind11 dans leur tutoriel (les premiers pas quoi)
  • la commande que j’utilise pour compiler est un poil complexe :

g++ -O3 -Wall -shared -std=c++11 -fPIC $(python3 -m pybind11 --includes) -ISFML/include -Lbuild/lib -lsfml-system pysfml2/example.cpp -o example$(python3-config --extension-suffix)

la librairie a été compilée dans le répertoire build/lib et son nom est libsfml-system.so ou bien libsfml-system-s (pour la version statique), mon fichier pybind11 est pysfml2/main.cpp.

La compilation se passe bien, mais si j’importe le résultat :

>>> import example
ImportError: /[...]/sfml/example.cpython-312-x86_64-linux-gnu.so: undefined symbol: _ZNK2sf4Time9asSecondsEv

Il ne trouve donc ps le symbole sf::Time.asSeconds.

Tout idée est la bienvenue :slight_smile:

5 messages - 3 participant(e)s

Lire le sujet en entier


Viewing all articles
Browse latest Browse all 3786

Trending Articles