2012-04-06 29 views
4

我用automake,並得到一個libtool的調用像這樣不止一次。不幸的是,似乎是摺疊的libtool圖書館多個請求到一個單一的請求,它運行:重複庫

gcc -o test_foo test_foo.o -lA -lB -lC 

注意,第二次在庫中消失了;我收到了一堆鏈接器錯誤。當我用額外的-l標誌手動運行gcc命令行時,它可以工作。

我該如何讓libtool通過我向gcc請求的所有庫?

+1

循環依賴不支持這麼多的圖層(從動態庫開始),所以libtool甚至不會嘗試它。 – 2012-04-08 00:39:23

回答

4

我該如何讓libtool通過我向gcc請求的所有庫?

我不知道該怎麼做。但是請注意,如果您是使用GNU-LD(或金)的系統上,就可以實現與

-Wl,--start-group -lA -lB -lC -Wl,--end-group 

相同的結果也許libtool的會留下這些不受干擾?唉,libtool的2.2.6b所有庫之前移動-Wl,--end-group ;-(

這總值黑客做的:

-Wl,--start-group,-lA,-lB,-lC,--end-group 

(我發現libtool是時代錯誤的99%,並儘量避免像瘟疫)

+0

謝謝!這是一個醜陋的黑客,但它似乎工作。 – bstpierre 2012-04-09 12:43:00