使用Cython将metis链接到封装的C++模块

Linking metis to wrapped C++ module using Cython

本文关键字:封装 C++ 模块 链接 Cython metis 使用      更新时间:2023-10-16

在编译Cython源文件期间,我试图链接metis库,但遇到了困难,因为我在编译的共享对象文件中获得了未定义的符号。

我想知道是否有人有使用distutils链接metis等外部库的经验?更好的选择是使用makefile吗?

我所做的:

将目录添加到extra_link_args 中的libmetis.a

我找到了这个问题的解决方案,即我使用makefile进行编译,而不是使用distutils,这使得链接更加容易。

您可能需要

python setup.py build_clib

之前

python setup.py build_ext --inplace

如果这没有帮助,那么未定义的符号是_Py_ZeroStruct吗?这可能是因为您执行了python setup.py build_ext并使用了python 3。为此,您需要python3命令。

希望这能有所帮助。