如何自定义GCC“-l”标志的含义?

时间:2013-01-08 18:56:00

标签: gcc pkg-config

我遇到GCC问题,我想以自定义方式使用-l标志。

我想指定-lfoo指定的对应libfoo的搜索路径,我也想覆盖GCC中的任何内部搜索路径,我不希望GCC使用任何可以解决的随机库这些符号,我只希望GCC在指定-l时使用非常具体的库进行编译。

我知道有pkg-config之类的工具,但我的问题更多是以gcc为中心的,因为我专注于对编译步骤有更多的控制。

1 个答案:

答案 0 :(得分:1)

有一个未记录的语法,用于指定gcc的绝对lib路径:

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

见这里:https://code.ros.org/lurker/message/20130119.001059.fad11362.de.html

更简单的方法是:

$ gcc -o test test.c /usr/lib/libfoo.so

实际上,使用-l:语法的唯一原因是,如果搜索路径中存在相同名称的冲突库,则无法更改搜索路径。