您好,登錄后才能下訂單哦!
(1)autoscan, automake, autoconf 之間的協作關系
(2)libtool
o: 編譯的目標文件
a: 靜態庫,其實就是把若干o文件打了個包
so: 動態鏈接庫(共享庫)
lo: 使用libtool編譯出的目標文件,其實就是在.o文件中添加了一些信息。
la: 使用libtool編譯出的庫文件,其實是個文本文件,記錄同名動態庫和靜態庫的相關信息和依賴關系。該文件中的dependency_libs變量記錄該庫依賴的所有庫(可以是so、a、la文件);libdir變量為庫的安裝位置;library_names變量為共享庫的名字;old_library變量為靜態庫的名字。
libtool主要的一個作用是在編譯大型軟件的過程中解決了庫的依賴問題;將繁重的庫依賴關系的維護工作承擔下來,從而釋放了程序員的人力資源。通常libtool是配合GNU autoconf和automake一起使用。libtoo安裝l依賴于Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Sed。libtool提供統一的接口,通過libtool可以編譯生成lo、la文件;可以編譯連接構建出庫和執行程序。libtool通過la文件中記錄的依賴關系自動進行整理出正確的編譯命令串,再調用C++編譯器進行編譯連接。就是一個解析la文件--> 整理依賴關系 ---> 調用子進程C編譯器的過程
(3)疑問
執行autoconf遇到 possibly undefined macro: AM_INIT_AUTOMAKE
嘗試運行: autoreconf --install
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。