我试图用Cython为C库编写一个包装器。在
我已经创建了一个使用C例程的简单pyx文件。在
cdef extern from "sel.h":
void parse_file(const char *file)
cpdef void main(str file):
file_pybyte = file.encode('UTF-8')
cdef char*c_file = file_pybyte
parse_file(c_file)
sel.c
文件导入位于src
目录中的一个C库,其中有数百个文件。在
这些初始头文件中有很多其他include。在
每次我试图运行编译的库时都会遇到一个错误:
Symbol not found: _type_attribute
Expected in: flat namespace
type_attribute
函数导入到src/clib/finder.h
文件中。在
如何自动地从C库中找到并编译所有依赖项?在
我的安装配置如下所示:
cythonize([Extension("*",
["lib/*.pyx",
"lib/sel.c",
],
include_dirs=[
'lib/src/clib/',
'lib/src/clib/include', ],
)])
我试着在一个配置中列出所有的C文件,但是由于这个库有很多特定于平台的文件,所以它不起作用。在
试试看
这将包括C而不是C++。在
这里的赠送是符号中的{{CD1>},表示它有C++名称的“窜改”/P>
相关问题 更多 >
编程相关推荐