0
我有我的主應用程序和兩個庫:foo和bar。 foo在某些方法中使用bar,並在LDADD中指定它。 我的主應用程序使用foo和間接的bar,所以它在Makefile中有LDADD = foo。只連接一次圖書館
在這種情況下,如果我不將bar庫添加到我的主應用程序的LDADD中,我將得到一個編譯錯誤。
未定義的參考;它說foo的.so文件需要bar的.so文件。
我不明白這一點。 一旦我用LDADD = bar編譯(非靜態)foo,爲什麼我在編譯使用foo的應用程序時需要它?
與[在Ubuntu的libtool](一個已知的問題的可能的複製http://stackoverflow.com/questions/ 11802727/libtool的-犯規-提供庫依賴性到鏈接)。你在Ubuntu上使用libtool嗎? – ldav1s