我目前正在努力升級一組C++二進制文件,每個二進制文件都使用他們自己的一套Makefiles,基於Autotools更新。但是我無法弄清楚如何在構建/打包過程中包含第三方庫(例如Oracle即時客戶端)。Autotools:包括一個預編譯的第三方庫
這件事真的很簡單,我錯過了?
編輯添加更多詳細信息
我現在的編譯環境如下所示:
/src
/lib
/libfoo
... source and header files
Makefile
/oci #Oracle Instant Client
... header and shared libraries
Makefile
/bin
/bar
... source and header files
Makefile
Makefile
/build
/bin
/lib
build.sh
今天頂層build.sh執行以下步驟:
- 奔跑每個庫的Makefile並將輸出複製到/ build/lib
- 運行每個二進制文件y的Makefile並將輸出複製到/ build/bin
每個Makefile都有一組到各個兄弟目錄的硬編碼路徑。毋庸置疑,這已成爲維護的噩夢。我已經開始測試autotools,但是我被卡住的地方是找出相當於將/src/lib/oci/*.so複製到/ build/lib以編譯時鏈接並捆綁到一個發行版中。
這個程序基於autotools是什麼... – 2011-12-15 20:48:42