[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Building new blocks in Gnu Radio

From: Nick Foster
Subject: Re: [Discuss-gnuradio] Building new blocks in Gnu Radio
Date: Mon, 26 Mar 2012 12:27:42 -0700

On Mon, Mar 26, 2012 at 10:42 AM, Francisco <address@hidden> wrote:
Ben Reynwar <ben <at> reynwar.net> writes:

> I think that the best way to get started is to use Martins gr-modtool.
>  It will help you to make out-of-tree blocks (out-of-tree means
> separate but compatible with your main gnuradio installation).
> It can be found at:
> https://github.com/mbant/gr-modtool
> On Mon, Mar 26, 2012 at 2:58 AM, Ebtisam Ahmed <ebtisamahmed90 <at> gmail.com>
> > Indeed i have read but i cant understand the building process. I built
> > it the i understood but it failed terribly, i have made .h .cc .i and
> > makefile.am. Put them in one folder and then done make. i also tried
> > ./configure and ./bootstrap but it doesnt work
> >
> > Anyways thanx for ur time and help me on this....
> >
> > Regards,
> > Ebtisam
> >
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > Discuss-gnuradio <at> gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Hi all,

I've decided to follow your suggestion and get gr_modtool.py.

First I created the module with this script which created some folders, files
and the .cc and .h files with skeleton code.

Then I put my code in the .cc and .h files. I also changed the .xml file so I
can use GRC (I haven't used python yet to create graphs).

After this, I used cmake. I wrote:
>cmake -i
>sudo make
>sudo make install
>sudo ldconfig

These were my steps to build a new block to use in GRC. However, I get this

ImportError: /usr/local/lib/python2.7/dist-
packages/mycoolstuff/_mycoolstuff_swig.so: undefined symbol:

Yes. My module and block are called mycoolstuff and decimated_average_vcc.cc

It seems that there is a problem with the swig. Do I have to configure anything
in the .i files before starting to use cmake?

My guess is you haven't declared your functions as API exports. There should be a file in your module called include/mycoolstuff_api.h, which should be #included by your block implementations and the public constructor declared like this:

MYCOOLSTUFF_API mycoolstuff_make_decimated_average(.....) {}

This will export the symbol so it gets called out in the library.



Discuss-gnuradio mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]