我对cython(和c++)还很陌生,我正在尝试在模块化框架中构建一些简单的DSP工具。我希望能够在python中使用它们来进行研究,虽然我已经成功地将一些简单的c++类转换成python,但我现在正努力解决一个看似微不足道的问题。在
我写了一个biquad过滤类,由biquad.h和双四元组.cpp. 与其他dsp模块一起组织的还有一些类似的dsp模块。在这种方法中,biquad头文件没有显式地包含在biquad c++文件中,而是通过定义模块的dsp.h链接,即在dsp.h中,我有一个包含所有dsp类的列表。在
例如。。。在
#include filters/biquad.h
#include filters/fir.h
#include transforms/hilbert.h
因此,在构建python对象时,我尝试编译biquad filter类:
^{pr2}$如果我试图从biquad.h文件定义我的外部,例如:
cdef extern from "biquad.h":
cdef cppclass biquad:
然后我遇到了一些问题,因为头文件没有包含在c++文件中。但如果我从主dsp.h文件定义外部,例如:
cdef extern from "dsp.h":
cdef cppclass biquad:
它也不能包括头文件。我本以为dsp.h中的include语句会做到这一点,但事实似乎并非如此,我不知道如何显式地包含它。在
顺便说一句,我得到的错误是:
error: use of undeclared identifier 'biquad'
任何帮助将不胜感激!在
目前没有回答
相关问题 更多 >
编程相关推荐