Hi, Eric
I didn't put the nested class in the .i file, only the upper-level block
class, which produced the error (adding it doesn't solve it either). Maybe I
just shouldn't nest C++ classes when I use SWIG? Thank you.
Dawei
On 9/13/07, Eric Blossom <[EMAIL PROTECTED]> wrote:
>
> On Thu, Sep 13, 2007 at 02:54:16PM -0400, Dawei Shen wrote:
> > Hey, Guys
> >
> > I encountered a programming problem when I tried to build a new block. I
> > defined a subclass inside my block class, which looks like:
> >
> > class my_block : gr_block{
> > class my_subclass {
> > sub_class details
> > }
> > }
> >
> > Well, this my_subclass is part of my implementation, all its member
> > functions are inline functions. Everything got compiled and installed
> well.
> > However, when I used my block in my python script, I met some error
> like:
> >
> > import _howto
> > ImportError: /usr/local/lib/python2.5/site-packages/gnuradio/_howto.so:
> > undefined symbol: _ZN22howto_my_block10my_subclass1hE
> >
> > Could anybody help me with this problem? Should I do something with my
> .i
> > file or makefile.am file?
> >
> > Thank you in advance.
> >
> > Dawei
>
>
> SWIG doesn't deal with nested C++ classes.
> This is a known limitation, and apparently hard to fix.
>
> In your case, I doubt that the python code needs to know anything
> about the implementation details, including the nested class.
> I suggest trying to remove the nested class from the .i file.
>
> Eric
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio