所以我有一个看起来像这样的目录:
home\
setup.py
some_python_file.py
ext\
__init__.py
c_file1.c
c_file2.c
ext_header.h
显然头文件是编译c文件所必需的,但问题是我无法让安装脚本包含头文件。
我的扩展对象是这样的:
Extension('ext.the_extension', ['ext/c_file1.c', 'ext/c_file2.c'])
哪个有效,但不包括头文件。如果我将其更改为:
Extension('ext.the_extension', ['ext/c_file1.c', 'ext/c_file2.c', 'ext_header.h'])
它包括“.h”文件,但在我运行安装时不构建。相反,它给出了错误error: unknown file type '.h' (from 'ext/ext_header.h')
如果我将头文件包含为这样的数据文件:
data_files=[('ext', ['ext/ext_header.h'])]
它根本不起作用,.h 文件甚至没有进入 MANIFEST 文件。
所以我的问题是,你如何在头文件中包含这个扩展名,以便python setup.py install
正确构建它?