2010-06-14 96 views
2

我正在開發一個新項目,使用Autotools爲我的構建基礎結構。我想將外部依賴包含到我的源代碼樹中。這些依賴關係也使用Autotools。我怎樣才能配置我的項目的構建腳本來構建和鏈接到包含的依賴關係?儘管Duret-Lutz的教程非常出色,但這種情況只能在幾張幻燈片中簡單討論。我發現他的解釋令人困惑。使用Autotools將外部庫包含到源代碼樹中

通過在頂層Makefile.am的SUBDIRS中添加包含的依賴項的目錄名稱,正在配置和構建依賴項。可以通過CFLAGS手動設置包含路徑,但是如何鏈接到libtool .la文件?

回答

1

您可以添加具有相對路徑的庫。

SUBDIRS = extern 
foo_SOURCES = foo/x.c ... 
foo_LDADD = extern/bar/libbaz.la 
foo_DEPENDENCIES = extern/bar/libbaz.la # Hack to prevent atomake from screwing parallel builds 
+1

完美,謝謝。如果你不知道你正在研究的東西的名字,在GNU手冊中查找某些東西是多麼的困難。 – troutwine 2010-06-15 20:02:25

+0

通常,出現在'foo_LDDADD'中的任何庫都會自動出現在'foo_DEPENDENCIES'中。所以上面的'foo_DEPENDENCIES'行不是必需的。如果你發現在這種情況下你需要它,這是你應該報告的錯誤。 – adl 2010-12-03 07:09:19