我用automake,並得到一個libtool的調用像這樣不止一次。不幸的是,似乎是摺疊的libtool圖書館多個請求到一個單一的請求,它運行:重複庫
gcc -o test_foo test_foo.o -lA -lB -lC
注意,第二次在庫中消失了;我收到了一堆鏈接器錯誤。當我用額外的-l
標誌手動運行gcc命令行時,它可以工作。
我該如何讓libtool通過我向gcc請求的所有庫?
我用automake,並得到一個libtool的調用像這樣不止一次。不幸的是,似乎是摺疊的libtool圖書館多個請求到一個單一的請求,它運行:重複庫
gcc -o test_foo test_foo.o -lA -lB -lC
注意,第二次在庫中消失了;我收到了一堆鏈接器錯誤。當我用額外的-l
標誌手動運行gcc命令行時,它可以工作。
我該如何讓libtool通過我向gcc請求的所有庫?
我該如何讓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%,並儘量避免像瘟疫)
謝謝!這是一個醜陋的黑客,但它似乎工作。 – bstpierre 2012-04-09 12:43:00
循環依賴不支持這麼多的圖層(從動態庫開始),所以libtool甚至不會嘗試它。 – 2012-04-08 00:39:23