[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: undefined reference to <FUNCTION_NAME>
From: |
Paul Pluzhnikov |
Subject: |
Re: undefined reference to <FUNCTION_NAME> |
Date: |
Fri, 08 Jul 2005 07:08:56 -0700 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Jumbo Shrimp, linux) |
"Vish" <vpahuja@gmail.com> writes:
> What flag do I use to link with the library explicitly?
You do know that gcc manual exists and you do read English?
>From "info gcc":
`-lLIBRARY'
`-l LIBRARY'
Search the library named LIBRARY when linking. (The second
alternative with the library as a separate argument is only for
POSIX compliance and is not recommended.)
It makes a difference where in the command you write this option;
the linker searches and processes libraries and object files in
the order they are specified. Thus, `foo.o -lz bar.o' searches
library `z' after file `foo.o' but before `bar.o'. If `bar.o'
refers to functions in `z', those functions may not be loaded.
The linker searches a standard list of directories for the library,
which is actually a file named `libLIBRARY.a'. The linker then
uses this file as if it had been specified precisely by name.
The directories searched include several standard system
directories plus any that you specify with `-L'.
Normally the files found this way are library files--archive files
whose members are object files. The linker handles an archive
file by scanning through it for members which define symbols that
have so far been referenced but not defined. But if the file that
is found is an ordinary object file, it is linked in the usual
fashion. The only difference between using an `-l' option and
specifying a file name is that `-l' surrounds LIBRARY with `lib'
and `.a' and searches several directories.
Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.