Quantcast
Viewing all articles
Browse latest Browse all 3589

Utilisation de pybind11

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 Image may be NSFW.
Clik here to view.
:slight_smile:

5 messages - 3 participant(e)s

Lire le sujet en entier


Viewing all articles
Browse latest Browse all 3589

Trending Articles