LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   how to use static libraries? please help Lol (https://www.linuxquestions.org/questions/linux-newbie-8/how-to-use-static-libraries-please-help-lol-4175543660/)

444ghost 05-26-2015 01:01 PM

how to use static libraries? please help Lol
 
https://code.google.com/p/wavelet1d/...ar.gz&can=2&q=

The above link is where I downloaded *.cpp(s) and the libraries.

If you "untar" the package, in "examples" directory, there are some demonstration files. What I wanted to do was to make an executable file out of "wavedemo1.cpp".

I modified the code in "wavedemo1.cpp";
Code:

#include "wavelet2d.h"
to
Code:

#include "wavelet2s.h"
, then placed the header file "wavelet2s.h" (from /wavelib/src/linuxstatic) and the modified "wavedemo1.cpp" into my working directory.

Inside the working directory, I ran the following command

Code:

gcc -L/home/mario/wavelet/wavelib/linuxstatic -lwavelet2s wavedemo1.cpp -o wavedemo1
Then I get the following error messages.

/usr/bin/ld: skipping incompatible /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a when searching for -lwavelet2s
/usr/bin/ld: cannot find -lwavelet2s
collect2: error: ld returned 1 exit status


I'm not sure what went wrong with my approach. This is my first time trying to use libraries on linux and it's giving me really tough times.

I would appreciate your help, please let me know if you need more details to explain things.

Thanks.

pan64 05-26-2015 01:13 PM

that means you have a static lib named /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a but currenly it cannot be used (incompatible). We have no any idea what's wrong with it, try the command file /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a, but we still need to know the os you have.

444ghost 05-26-2015 01:20 PM

I appreciate your reply!

I ran file /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a in my working directory and it gives this message /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a: current ar archive but nothing else really happened.

running on virtualbox

Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty

pan64 05-26-2015 01:27 PM

please execute this:
objdump -f /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a | grep ^architecture
and
uname -a

444ghost 05-26-2015 01:35 PM

architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000011:
architecture: i386, flags 0x00000010:

for objdump -f /home/mario/wavelet/wavelib/linuxstatic/libwavelet2s.a | grep ^architecture

and

Linux Mario 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

for uname -a

pan64 05-26-2015 01:39 PM

so that looks like the file is a 32bit lib and your system has a 64bit kernel.
you may try:
gcc -m32 -L/home/mario/wavelet/wavelib/linuxstatic -lwavelet2s wavedemo1.cpp -o wavedemo1
probably that helps

fatmac 05-26-2015 01:42 PM

Seems to me that you are trying to compile with a 32bit lib on a 64bit system, (but I'm not a programmer).

Edit: Beaten to it! :)

444ghost 05-26-2015 01:43 PM

no longer getting the error message, thank you so much!


All times are GMT -5. The time now is 03:33 AM.