Thanks a lot for the reply Tom, I figured out that part after looking at a number of sample Makefile.am files in different projects. I used the -I<dir> flag to include the directories and the compilation began, but after a few steps I received the following error.
====================== from Terminal=================== libtool: link: g++ -g -O2 -g -O2 -o .libs/test_all test_all.o ./.libs/libgnuradio-howto-qa.a /home/user/Downloads/gr-howto-write-a-block-template/lib/.libs/libgnuradio-howto.so -L/usr/local/lib -L/usr/lib /usr/lib/libcppunit.so -ldl -lboost_thread-mt -lrt -lboost_date_time-mt /usr/local/lib/libgnuradio-core.so /usr/local/lib/libgruel.so /usr/lib/libfftw3f.so -lgsl -lgslcblas -lm /usr/local/lib/libgromnithread.so -pthread /home/user/Downloads/gr-howto-write-a-block-template/lib/.libs/libgnuradio-howto.so: undefined reference to `libmatinvTerminate' /home/user/Downloads/gr-howto-write-a-block-template/lib/.libs/libgnuradio-howto.so: undefined reference to `mclTerminateApplication_proxy' /home/user/Downloads/gr-howto-write-a-block-template/lib/.libs/libgnuradio-howto.so: undefined reference to `mclInitializeApplication_proxy' /home/user/Downloads/gr-howto-write-a-block-template/lib/.libs/libgnuradio-howto.so: undefined reference to `libmatinvInitialize' collect2: ld returned 1 exit status ======================================================= In the above errors libmatinv is the name of my generated library from matlab mcc. The library is already in the lib folder. The C driver implementation is also in the lib folder inside generalwork function implementation. I have been searching around for this error and I heard from someone that I might have to use -L<dir> and "small L"-l<dir> flags to give the compiler the implementation of the functions in my library header, along with the -I<dir> but I am not exactly sure which files does it need. Any suggestions in this regard are highly appreciated. Also Tom you mentioned M4 config files, I am planning to release these later on once my target is achieved. Would you kindly guide me a little, so I have a decent idea where to start learning about these files and then take it 1 step at a time. Thanks again. Tom Rondeau wrote: > > On Sat, May 22, 2010 at 5:52 PM, Nick.R <[email protected]> wrote: >> >> I am quite new to unix as well as GNU radio, but after practising with >> the >> different modules and reading alot about it in papers and tutorials I've >> been able to understand how to use some of its functions. Presently I am >> trying to make a block in GNU Radio Companion from a C shared library >> file >> generated from Matlab. >> >> I've been following the tutorial on how to create a signal processing >> block >> and I believe my files are ready, also I have edited most of the scripts >> as >> per requirements. However, when I try to do "make"/"sudo make" after >> ./bootstrap and ./configure, the compiler is unable to build because it >> cannot find one of the matlab libraries that are a dependency for my .h >> and >> .cc file. I've tried looking everywhere on forums for a solution but >> there >> is no information regarding this. The library files in question are the >> mclmcrrt.h and mclcppclass.h. Matlab used them to compile the shared >> library >> so the path I set for them in bashrc seems correct. When I do "locate" I >> can >> find the libraries as well. >> >> Following error is generated and then it says that all subsequent >> functions >> being used in the .cc file being not initialized and stops. >> In file included from ./howto_square_ff.h:26, >> from howto_square_ff.cc:32: >> ./libmyfunc.h:14:22: error: mclmcrrt.h: No such file or directory >> ./libmyfunc.h:15:25: error: mclcppclass.h: No such file or directory >> >> I'm on Ubuntu 9.10 - the Karmic Koala release >> >> Is there something specific that needs to be done for the "make" >> procedure >> to read these libraries ? Any help in this regard will be highly >> appreciated. This is my first time posting here, so I hope I was able to >> convey as much information as possibly regarding the problem. > > > You will have to edit the Makefile.am to add the source code directory > to include the two missing header files into the local make > environment. The simplest thing to do is to add this to "AM_CPPFLAGS" > in Makefile.am: "-I<dir>" where <dir> is the directory of the files. > > This isn't the most elegant way to handle this, and if you are > planning on releasing this or using this code in a more > production-oriented fashion, we'll have to talk about M4 config files > and the such. But start here and see if it works. > > Tom > > _______________________________________________ > Discuss-gnuradio mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > -- View this message in context: http://old.nabble.com/Need-help-with-gr-how-to-create-a-signal-processing-block-template-tp28646216p28660534.html Sent from the GnuRadio mailing list archive at Nabble.com. _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
