2013-01-08 26 views
1

我遇到了GCC問題,我想以自定義的方式使用-l標誌。如何自定義GCC的「-l」標誌的含義?

我想指定由-lfoo指定的對應libfoo的搜索路徑,我也想覆蓋GCC中的任何內部搜索路徑,我不希望GCC使用任何可以解決符號的隨機庫,我只希望GCC在指定-l時使用真正特定的lib進行編譯。

我知道有utils,如pkg-config但我的問題更加以gcc爲中心,因爲我專注於對編譯步驟的更多控制。

回答

1

沒有用於指定到GCC絕對庫路徑無證語法:

$ 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:語法的唯一原因是,如果在搜索路徑中存在具有相同名稱的衝突庫,並且無法更改搜索路徑。