GCC Linking Options

2019-09-05 14:34发布

问题:

I'm new to the world of building. I've always let my IDE take care of it for me, but now I'm working with autotools and command line.

Could someone explain the difference between gcc's
-l LIBNAME - Search for library LIBNAME
and -L DIRECTORY - Add DIRECTORY to library search path

Can the same linking be accomplished with either and it's just a style preference which gets used? Or is there actually something seriously different happening?

Thanks,

Andrew

回答1:

Usually you use both:

  • -l libname specifies the libraries you want to link, think single files.
  • -L specifies paths where the linker should look for them (in addition to the standard ones), think directories


回答2:

The -L command adds a path to the list of locations the linker searches to find libraries.

The -l option means it searches for a library by the name you specify

Basically the -l option tells it to look for a library by that name and -L allows you to specify places to look.

More Information: http://linux.die.net/man/1/ld