|
From: Abhishek D. <adu...@gm...> - 2012-03-28 18:41:34
|
For example: if there is a library /usr/lib64/libABCDE.so, the to compile a
program that uses this library, you have to do something like this:
gcc -o test -I/usr/local/include/ABCDE -L/usr/lib64/ -l*ABCDE* test.cc
(-l options specified the library to link and -L describes the location of
where the library can be found).
Hope this helps :)
Bye
On Wed, Mar 28, 2012 at 8:03 PM, <ch...@ch...> wrote:
> **
> Thanks Lakesh. I've specified the full path of the octave library in the
> linker - is my syntax ok or do I need to use -l before the library name or
> something else? I tried that just to check but seems to make it worse.
>
> /chris
> Enviado desde mi dispositivo BlackBerry® de Orange.
> ------------------------------
> *From: * lakesh <lak...@gm...>
> *Date: *Wed, 28 Mar 2012 11:48:43 -0400
> *To: *Chris Hellberg<ch...@ch...>
> *Cc: *Abhishek Dutta<adu...@gm...>; <
> rtf...@li...>
> *Subject: *Re: [Rtftr-devel] Linked libraries
>
> Hi Chris,
>
> I think it is the issue with linking the library I guess. You have
> installed the octave and boost library, they are present in the lib folder,
> but when you compile the project you need to provide the path to those
> libraries as well. Looking at the log, it shows that it couldn't find the
> libraries. So, I think it is the issue with the path.
>
> On Wed, Mar 28, 2012 at 9:59 AM, Chris Hellberg <ch...@ch...>wrote:
>
>> Hi Abhishek,
>>
>> Thanks - that's good to hear :)
>>
>> I made a couple of changes - updated the boost filesystem to be v3
>> compatible and added absolute library references into the Makefiles.
>>
>> But there are a couple of errors that I can't quite figure out. When I
>> make from the top of the source dir, I get the following compile errors
>> (plus many more that are similar):
>>
>> make[2]: Вход в каталог `/home/chellberg/code/rtftr-0.2-ch'
>> g++ -DHAVE_CONFIG_H -I. -I./src -I/usr/local/include/octave-3.4.3
>> -I./src/adaboost -I./src/kepenekci -I./src/rowleynn -I./src/subspacelda
>> -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0
>> -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0/glib
>> -I/usr/include/cairo -I/usr/include/pango-1.0
>> -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/gdk-pixbuf-2.0
>> -I/usr/include/atk-1.0 -I/usr/include/libxml2 -I/usr/local/include
>> -I/usr/include -g -O2 -MT RtftrUserInterface.o -MD -MP -MF
>> .deps/RtftrUserInterface.Tpo -c -o RtftrUserInterface.o
>> RtftrUserInterface.cc
>> mv -f .deps/RtftrUserInterface.Tpo .deps/RtftrUserInterface.Po
>> /bin/bash ./libtool --tag=CXX --mode=link g++ -g -O2 -g -Wall
>> -DHAVE_CONFIG -o rtftr RtftrUserInterface.o
>> /usr/local/lib/octave/3.4.3/liboctave.so
>> ./src/subspacelda/librtftr_subspacelda.a
>> ./src/kepenekci/librtftr_kepenekci.a ./src/adaboost/librtftr_adaboost.a
>> ./src/librtftr_common.a -lxml2 -lml -lfftw3 -lvigraimpex -lcvaux
>> -lhighgui -lcv /usr/lib/libboost_serialization.so
>> /usr/lib/libboost_filesystem.so /usr/lib/libcxcore.so.2.1
>> mkdir .libs
>> g++ -g -O2 -g -Wall -DHAVE_CONFIG -o rtftr RtftrUserInterface.o
>> /usr/local/lib/octave/3.4.3/liboctave.so
>> /usr/lib/libboost_serialization.so /usr/lib/libboost_filesystem.so
>> /usr/lib/libcxcore.so.2.1 ./src/subspacelda/librtftr_subspacelda.a
>> ./src/kepenekci/librtftr_kepenekci.a ./src/adaboost/librtftr_adaboost.a
>> ./src/librtftr_common.a /usr/lib/libxml2.so -lml /usr/lib/libfftw3.so
>> -lm /usr/local/lib/libvigraimpex.so -lpng12 -lcvaux -lhighgui -lcv
>> ./src/subspacelda/librtftr_subspacelda.a(SubspaceRecognize.o): In
>> function `SubspaceRecognize::Recognize(_IplImage*)':
>>
>> /home/chellberg/code/rtftr-0.2-ch/src/subspacelda/SubspaceRecognize.cc:223:
>> undefined reference to `operator*(Matrix const&, Matrix const&)'
>>
>> /home/chellberg/code/rtftr-0.2-ch/src/subspacelda/SubspaceRecognize.cc:225:
>> undefined reference to `operator*(Matrix const&, Matrix const&)'
>>
>> /home/chellberg/code/rtftr-0.2-ch/src/subspacelda/SubspaceRecognize.cc:227:
>> undefined reference to `operator*(Matrix const&, Matrix const&)'
>>
>> /home/chellberg/code/rtftr-0.2-ch/src/subspacelda/SubspaceRecognize.cc:228:
>> undefined reference to `operator*(Matrix const&, Matrix const&)'
>> ./src/subspacelda/librtftr_subspacelda.a(SubspaceRecognize.o): In
>> function `Array':
>> /usr/local/include/octave-3.4.3/octave/Array.h:199: undefined reference
>> to `dim_vector::safe_numel() const'
>> /usr/local/include/octave-3.4.3/octave/Array.h:201: undefined reference
>> to `Array<double>::fill(double const&)'
>> ./src/subspacelda/librtftr_subspacelda.a(SubspaceRecognize.o): In
>> function `MArray<double>::transpose() const':
>> /usr/local/include/octave-3.4.3/octave/MArray.h:84: undefined reference
>> to `Array<double>::transpose() const'
>> ./src/subspacelda/librtftr_subspacelda.a(SubspaceRecognize.o): In
>> function `Array<double>::as_matrix() const':
>> /usr/local/include/octave-3.4.3/octave/Array.h:292: undefined reference
>> to `dim_vector::redim(int) const'
>> ./src/subspacelda/librtftr_subspacelda.a(SubspaceTrain.o): In function
>> `Array':
>> /usr/local/include/octave-3.4.3/octave/Array.h:199: undefined reference
>> to `dim_vector::safe_numel() const'
>> /usr/local/include/octave-3.4.3/octave/Array.h:201: undefined reference
>> to `Array<double>::fill(double const&)'
>> ./src/subspacelda/librtftr_subspacelda.a(TrainImageMapIO.o): In function
>> `binary_oarchive_impl':
>> /usr/include/boost/archive/binary_oarchive_impl.hpp:84: undefined
>> reference to
>> `boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive,
>> char,
>> std::char_traits<char>
>> >::basic_binary_oprimitive(std::basic_streambuf<char,
>> std::char_traits<char> >&, bool)'
>> ./src/subspacelda/librtftr_subspacelda.a(TrainImageMapIO.o): In function
>> `common_oarchive':
>> /usr/include/boost/archive/detail/common_oarchive.hpp:75: undefined
>> reference to
>> `boost::archive::detail::basic_oarchive::basic_oarchive(unsigned int)'
>> ./src/subspacelda/librtftr_subspacelda.a(TrainImageMapIO.o): In function
>> `invoke<TrainImageMap>':
>> /usr/include/boost/archive/detail/oserializer.hpp:253: undefined
>> reference to `boost::archive::detail::basic_oarchive::save_object(void
>> const*, boost::archive::detail::basic_oserializer const&)'
>> ./src/subspacelda/librtftr_subspacelda.a(TrainImageMapIO.o): In function
>> `~common_oarchive':
>>
>>
>> The octave library is present:
>>
>> chellberg@chellberg-t400:~$ ls -la
>> /usr/local/lib/octave/3.4.3/liboctave.so
>> lrwxrwxrwx 1 root root 18 2012-03-28 03:00
>> /usr/local/lib/octave/3.4.3/liboctave.so -> liboctave.so.0.0.0
>> chellberg@chellberg-t400:~$
>>
>> The offending lines are:
>>
>> 221: Matrix projected_image;
>> 222: if(mAlgorithm == "PCA") {
>> 223: projected_image = mSubspace.transpose() * test_image;
>> 224: } else if(mAlgorithm == "LDA") {
>> 225: projected_image = mSubspace * test_image;
>> 226: if(mSeparateNonFaces == true) {
>> 227: Matrix projected_image_for_filtration =
>> mSubspaceForFiltration.transpose() * test_image;
>> 228: Matrix reconstructed_image = mSubspaceForFiltration *
>> projected_image_for_filtration;
>> 229: float sum = 0;
>> 230: for(int i = 0; i < reconstructed_image.rows(); i++) {
>> 231: sum += (reconstructed_image.elem(i,0) -
>> test_image.elem(i,0)) * (reconstructed_image.elem(i,0) -
>> test_image.elem(i,0));
>> 232: }
>> 233: float distance = sqrt(sum);
>> 234: if(distance >= (mThreshold1 *mMaxDistance ) ) {
>> 235: return -2;
>> 256: }
>> 237: }
>> 238: }
>>
>>
>> Not quite sure what isn't being included properly by the linker.
>>
>> Cheers,
>>
>> Chris
>>
>> 28/03/12 13:13, Abhishek Dutta написал:
>> > Yes, we are excited to see you join us. Thanks for that.
>> >
>> > Start firing your questions :)
>> >
>> > Good luck
>> > Abhishek
>> >
>> > On Wed, Mar 28, 2012 at 12:56 PM, <ch...@ch...
>> > <mailto:ch...@ch...>> wrote:
>> >
>> > Hi Guys,
>> >
>> > I've started updating a local copy of rtftr source to address newer
>> > versions of libraries that rtftr references. I've fixed several of
>> > them but stumped on a couple of issues.
>> >
>> > Are you guys still around to help with a couple of linker problems?
>> >
>> > Cheers,
>> >
>> > Chris
>> > Enviado desde mi dispositivo BlackBerry® de Orange.
>> >
>> ------------------------------------------------------------------------------
>> > This SF email is sponsosred by:
>> > Try Windows Azure free for 90 days Click Here
>> > http://p.sf.net/sfu/sfd2d-msazure
>> > _______________________________________________
>> > Rtftr-devel mailing list
>> > Rtf...@li...
>> > <mailto:Rtf...@li...>
>> > https://lists.sourceforge.net/lists/listinfo/rtftr-devel
>> >
>> >
>> >
>> >
>> > --
>> > Abhishek
>> > http://abhishekdutta.org
>>
>>
>>
>> ------------------------------------------------------------------------------
>> This SF email is sponsosred by:
>> Try Windows Azure free for 90 days Click Here
>> http://p.sf.net/sfu/sfd2d-msazure
>> _______________________________________________
>> Rtftr-devel mailing list
>> Rtf...@li...
>> https://lists.sourceforge.net/lists/listinfo/rtftr-devel
>>
>
>
>
> --
> Have a nice day
>
--
Abhishek
http://abhishekdutta.org
|