SWIG Includes for GRExtras blocks

I am trying to write a C++ block that uses the GRExtras block
interface, but am having some difficulty figuring out how to include
the proper headers in my swig.i file. If I use GR_SWIG_BLOCK_MAGIC2
along with my block name, I get the following error when building
swig:

error: InputItems was not declared in this scope

I have also tried directly including block.h in the swig.i file and
including various .i files from GRExtras, but I can’t seem to find the
proper includes to get it to compile. What is the proper syntax for
doing this?

Thanks,
Roy

On 11/11/2012 07:15 AM, Roy T. wrote:

I am trying to write a C++ block that uses the GRExtras block
interface, but am having some difficulty figuring out how to include
the proper headers in my swig.i file. If I use GR_SWIG_BLOCK_MAGIC2
along with my block name, I get the following error when building
swig:

error: InputItems was not declared in this scope

I guess the work function is exposed in your interface header? That
should be ok, but you will either need to %ignore your_block::work or
%include <gnuradio/block.h>

I have also tried directly including block.h in the swig.i file and
including various .i files from GRExtras, but I can’t seem to find the
proper includes to get it to compile. What is the proper syntax for
doing this?

Try adding these includes to the top of your file

#define GR_EXTRAS_API
%include <gnuradio.i>
%include “extras_factory.i”
%include <gnuradio/block.h>

Post the error w./ swig .i file if its not working:

-josh