如何自定义“的含义”-l";GCC的旗帜?

如何自定义“的含义”-l";GCC的旗帜?,gcc,pkg-config,Gcc,Pkg Config,我对GCC有问题,我想以定制的方式使用-l标志 我想为-lfoo指定的对应libfoo指定搜索路径,我还想覆盖GCC中的任何内部搜索路径,我不希望GCC使用任何可以解决符号的随机库,我只希望GCC在指定-l时使用真正特定的库进行编译 我知道有一些UTIL,比如pkg config,但我的问题更以gcc为中心,因为我专注于对编译步骤进行更多的控制。有一种未记录的语法用于指定gcc的绝对库路径: $ gcc -o test test.c -l:/usr/lib/libfoo.so #(note t

我对GCC有问题,我想以定制的方式使用
-l
标志

我想为
-lfoo
指定的对应libfoo指定搜索路径,我还想覆盖GCC中的任何内部搜索路径,我不希望GCC使用任何可以解决符号的随机库,我只希望GCC在指定
-l
时使用真正特定的库进行编译


我知道有一些UTIL,比如
pkg config
,但我的问题更以gcc为中心,因为我专注于对编译步骤进行更多的控制。

有一种未记录的语法用于指定gcc的绝对库路径:

$ gcc -o test test.c -l:/usr/lib/libfoo.so  #(note the colon)
请看这里:

更标准的方法是:

$ gcc -o test test.c /usr/lib/libfoo.so
实际上,使用
-l:
语法的唯一原因是如果您的搜索路径中存在同名的冲突库,并且您无法更改搜索路径