這可能是一個noob問題,但我真的想弄明白:我有我的C++項目使用其他庫(例如log4cplus和getopt_pp)。我在eclipse下開發它,現在我使用autotools對它進行配置,以便使用makefile和配置腳本來分發它,以確保每個人都可以編譯它。 我的問題是:我怎樣才能獲得那個調用./configure
或./make
會自動編譯&在最終用戶系統中安裝靜態庫?C++ makefile編譯依賴庫
- 這樣做的最佳方法是什麼?
- 什麼是安裝庫的最佳路徑?
這可能是一個noob問題,但我真的想弄明白:我有我的C++項目使用其他庫(例如log4cplus和getopt_pp)。我在eclipse下開發它,現在我使用autotools對它進行配置,以便使用makefile和配置腳本來分發它,以確保每個人都可以編譯它。 我的問題是:我怎樣才能獲得那個調用./configure
或./make
會自動編譯&在最終用戶系統中安裝靜態庫?C++ makefile編譯依賴庫
最好的方法是不要這樣做。相反,您應該記錄(在安裝文檔中)您的應用程序/庫依賴於某些其他庫(並且最好也是您測試它的哪個版本),並且您的腳本應該檢查這些依賴關係的存在。
的原因是:
如果您將庫與您的項目一起運輸(而不是獨立分發並要求用戶確保安裝它們),那麼您可能希望將這些庫放在您自己的目錄中項目,並在你的configure.ac
確保它通過增加Makefile
輸出目標,以AC_OUTPUT
是知道這些子目錄,即像
AC_OUTPUT(Makefile log4cplus/Makefile getopt_pp/Makefile yourprogramsrc/Makefile)
然後在根級別Makefile.am
,讓它知道你的新子目錄,即
SUBDIRS=log4cplus getopt_pp yourprogramsrc
然後確保你的包括標誌和連接器選項都指向你,包括庫設置正確。