8.3.9 Library Option
The --library name (-l
name) option searches for a library archive with the name
name.
This option adds library archive file called name to the list of files to link. This option
may be used any number of times. If name is of the form
:filename, the linker will search the library
path for a file called filename, otherwise it will
search the library path for a file called
libname.a.
The linker will search its path-list for occurrences of libname.a for every name specified. The linker will search a library archive only once,
at the location where it is specified on the command line. If the archive defines a symbol
that was undefined in some object that appeared before the archive on the command line, the
linker will include the appropriate file(s) from the archive. However, an undefined symbol
in an object appearing later on the command line will not cause the linker to search the
archive again. See the -( option for a way to force the
linker to search archives multiple times. You may list the same archive multiple times on
the command line.
If the format of the library archive file is not recognized, the linker will ignore it. Therefore, a version mismatch between libraries and the linker may result in “undefined symbol” errors.
