如果我使用 swig,我必须构建多个 .so/.dll 链接的 aginst 我想支持的每个版本的 python



我有一个C/C++项目,我正在使用swig与python接口。我想知道我是否必须针对每个版本的 python lib 进行构建才能支持我的脚本,或者是否有更简单的方法。我知道我可以使用distutils在用户机器上构建,但这并不总是正确的。我想知道其他项目如何处理这个问题。

简短的回答 - 是的,你必须为你想要支持的每个 Python 版本(3.6、3.7、3.8 等(构建不同的 SWIG 包装器

即使有 Python 稳定版 ABI,至于今天(2020 年 3 月(,这是不可能的,因为它还没有在 SWIG 中实现(参见 #1613(。

SWIG #1009 中有一个 PR 开放,但它已经开放了近三年。

最新更新