On 11/20/2010 12:31 AM, ali hagigat wrote:
-L searchdir
--library-path=searchdir
The paths can also be specified in a link script with the SEARCH_DIR command.
Directories specified this way are searched at the point in which the
linker script
appears in the command line.
-----------------------------------------------------------------------------------------------
I have copied part of ld manual...
Can anyone give an example of how to specify a path for -L by a link script?
When we use -L , we add some paths for search of ld command to find
libraries and link scripts. But what does 'search at the point' mean?
When 'searchdir' is specified by a link script, those paths should be
considered for the whole session of ld, so why the position of link
script is important? and if it is important how those paths are
considered?
I guess you mean the gnu binutils ld manual. This isn't really about
gcc, gcc typically uses whatever linker is usual for the platform. I
think the "point" which is being made is that gnu ld searches .a
("archive") libraries only in the order in which they are specified on
the command line (by -lyourlibrary), so that dependencies which come up
later won't be resolved. Thus, it is usual to see all -l directives
follow all source and .o file references. For re-scanning a group of .a
files which contain circular dependencies, you pass the option from gcc
by -Wl,--start-group first.a .... last.a -Wl,--end-group
You really should begin by looking at working examples for your
platform. A common error is in thinking that gnu ld, or even utilities
based on it with the name "link," might behave the same as MSVC link or
Solaris ld.
--
Tim Prince