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.
本文详细解释了GCC编译器中的链接选项-l的使用方法及注意事项。通过实例展示了如何指定库文件搜索顺序,并强调了库文件加载顺序对程序链接的重要性。

被折叠的 条评论
为什么被折叠?



