This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
static lib problem
- From: De Leeuw Guy <G dot De_Leeuw at eurofer dot be>
- To: gcc-help at gcc dot gnu dot org
- Date: Tue, 25 May 2004 12:46:52 +0200
- Subject: static lib problem
Hello,
I'm a new user of gcc and I have a little problem when I try to link
with a static library
Building library :
==================
gcc -DCOMP_OS=3 -o Linux/gdtsf.o -I/usr/include -I/usr/local/include
-I../../hdr -c ../../srcLassie/gdtsf.c
gcc -DCOMP_OS=3 -o Linux/gdtypes.o -I/usr/include -I/usr/local/include
-I../../hdr -c ../../srcLassie/gdtypes.c
ar -rs Linux/liblassiec.a Linux/*.o;
Building object :
=================
gcc -c -DCOMP_OS=3 -I/usr/include -I/usr/local/include -I../../hdr -o
Linux/crlf.o ../../srcExe/crlf.c
Building executable :
=====================
ld -o Linux/crlf Linux/crlf.o -L/lib -L/usr/lib
-L../../libLassiec/Unix/Linux -Bstatic -llassiec -lisam -lc_nonshared
[guy@pcGDL Unix]$ ld -o Linux/crlf Linux/crlf.o -L/lib -L/usr/lib
-L../../libLassiec/Unix/Linux -Bstatic -llassiec -lisam -lc_nonshared
ld: warning: cannot find entry symbol _start; defaulting to
0000000008048094
Linux/crlf.o(.text+0x31): In function `main':
: undefined reference to `printf'
Linux/crlf.o(.text+0x41): In function `main':
: undefined reference to `printf'
...
...
...
Wich libraries are mising ?
I try also :
ld -o Linux/crlf Linux/crlf.o -L/lib -L/usr/lib
-L../../libLassiec/Unix/Linux -Bstatic -llassiec -lisam -lc_nonshared
-Bdynamic -lresolv
ld: warning: cannot find entry symbol _start; defaulting to
0000000008048310
HERE THE PROBLEM :
==================
[guy@pcGDL Unix]$ Linux/crlf
bash: Linux/crlf: No such file or directory
[guy@pcGDL Unix]$
[guy@pcGDL Unix]$ ll Linux/crlf*
-rwxr-xr-x 1 guy guy 4002 mai 25 12:41 Linux/crlf*
-rw-r--r-- 1 guy guy 2720 mai 25 12:23 Linux/crlf.o
[guy@pcGDL Unix]$
[guy@pcGDL Unix]$ file Linux/crlf
Linux/crlf: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), not stripped
[guy@pcGDL Unix]$
[guy@pcGDL Unix]$ ldd Linux/crlf
/usr/bin/ldd: line 1: Linux/crlf: No such file or directory
[guy@pcGDL Unix]$
Version :
=========
[guy@pcGDL guy]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking
--enable-long-long --enable-__cxa_atexit --enable-clocale=gnu
--enable-languages=c,c++,ada,f77,objc,java,pascal
--host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
[guy@pcGDL guy]$
[guy@pcGDL guy]$ ld -v
GNU ld version 2.14.90.0.7 20031029
[guy@pcGDL guy]$
Thanks in advance for your help
Guy