2010-03-04 40 views
10

對舊式的Makefiles非常滿意,我正在尋找一個簡單的libtool替代方案。我不想切換到automake,當我嘗試直接使用libtool時,我仍然遇到libtool問題。最新的一個是'不支持的硬編碼屬性',我厭倦了缺乏完整的文檔,只是告訴我這次出了什麼問題......簡單的libtool替代?

我只想編譯一堆.o文件正確的標誌,然後將它們鏈接到一個共享庫中,以便它可以在儘可能多的平臺上運行。有沒有這樣做,而不是強迫我同時切換所有其他工具?

+3

如何使用automake暗示您必須切換所有工具?編寫自己的makefile意味着你必須手動包含對automake自動爲你提供的很多東西的支持。當我切換到使用automake時,只有一件事發生了變化:我的150行Makefiles變得更有特色10行Makefile.ams。所有其他工具保持不變。 – 2010-03-04 17:15:17

回答

3

jlibtool(有沒有用java做的)。

它用C語言編寫,可以與源代碼捆綁在一起。

它原是一個apache project,但不管是誰的工作它似乎拋棄它圍繞2004

它被接管FreeRADIUS的項目維護者艾倫Dekok,誰現代化的代碼,並修正了一些瑣碎的問題。我們將它用於FreeRADIUS項目(> = 3.0.0)來完成所有構建時間鏈接。

6

我不確定它是否適合您的工作流程信息,但我建議您看看CMake。它適用於Windows,Linux和Mac,不應強制您更改任何其他工具。儘管如此,你仍然必須自己判斷它的適用性。

+0

我知道CMake,但這比我想要的要多一點。 我不想將我的Makefile系統切換到其他的東西,我只想要一個工具,我告訴:「給我編譯器標誌,以便我可以編譯這些n文件用於共享庫,然後給我命令將它們連接在一起「。 – 2010-03-04 15:22:51

3

鑑於你的描述中Milliams'答案評論,

我只想一個工具,我告訴:「給我的編譯器標誌,這樣我可以在共享庫編譯使用這些n個文件,然後給我命令將它們鏈接在一起「,

然後libtool可能是最簡單的工具。我知道沒有別的選擇。

你說得對,使用libtool和普通makefile文件實際上是不存在的,但libtool肯定不需要你切換到automake。跨平臺的庫很難,而且你需要支付的價格是libtool。 (或者折扣價格的libtool的automake + +的autoconf或CMake的或果醬)

+0

我很害怕這個答案......有沒有人知道在configure.in中建立libtool的建議方式是什麼,而不通過automake做到這一點? (即只使用autoconf而不使用automake)。 – 2010-03-06 14:19:03