/ / Liaison de métis au module C ++ encapsulé à l'aide de Cython - c ++, lieur, cython, métis

Liaison de métis à un module C ++ encapsulé à l'aide de Cython - c ++, lieur, cython, métis

J'essaie de relier la bibliothèque metis lors de la compilation du fichier source Cython, mais j'ai des difficultés à obtenir des symboles non définis dans le fichier d'objet partagé compilé.

Je me demandais si quelqu'un avait déjà l'expérience de relier des bibliothèques externes telles que metis à l'aide de distutils? Est-ce qu'une meilleure option utiliserait makefile?

Ce que j'ai fait:

Ajout du répertoire à libmetis.a dans extra_link_args

Réponses:

1 pour la réponse № 1

J'ai trouvé une solution à ce problème qui consiste à compiler le fichier makefile au lieu d'utiliser distutils, ce qui facilite beaucoup la liaison.


1 pour la réponse № 2

Vous avez probablement besoin

python setup.py build_clib

avant

python setup.py build_ext --inplace

Si cela ne vous aide pas, le symbole non défini est-il _Py_ZeroStruct ? Ce serait parce que tu l'as fait python setup.py build_ext et utilisé à partir de python 3. Pour cela, vous aurez besoin python3 commander.

J'espère que cela t'aides.