如何使用标头构建 CPython 扩展

问题描述

我正在尝试使用 setup.py 构建 C API 扩展文件

from setuptools import setup,Extension

module = Extension(
    'mykmeanssp',sources=['my_capi.c'],)

setup(name='mykmeanssp',version='1.0',description='C extension for K-means++',ext_modules=[module])

C API 文件的开头是:

#define PY_SSIZE_T_CLEAN

#include <Python.h>
#include "kmeans_pp.h"
...

但在 Windows 上,我收到了一些错误,例如:

my_capi.obj : error LNK2001: unresolved external symbol kmeans_pp

我认为该建筑物不会导入“kmeans_pp.h”。 如果我尝试将“kmeans_pp.c”添加到 setup.py 中,我会因为不使用标题保护而发生冲突。

我查看了数十个答案,但找不到正确的解决方

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)