2012-03-30 131 views
1

比方說,我有一對情侶在一個目錄下的.o文件得到ar'ed成靜態庫:你可以包含一個靜態庫(.a)在另一個靜態庫與AR?

ar cr libstuff.a a.o b.o 

在另一個目錄下有需要被幾個其他的.o文件除了上面創建的libstuff.a ar'ed:

ar cr libother.a c.o d.o /path/to/stuff/libstuff.a 

我認爲包括libstuff.a會在那裏工作,但我得到了一個未定義的符號(即應libstuff.a定義)當我這樣做然後再嘗試鏈接到libother.a。 (使用g + +)

有沒有辦法將.a這樣的靜態庫合併或這是不可能的?

回答

3

它在新的lib上運行'ar t',你會發現它包含了一箇舊的lib的副本。沒有用。

您需要提取輸入庫,添加新的.o文件,然後構建一個包含所有內容的新庫。

相關問題