看板 NCTU_CS_EDA 關於我們 聯絡資訊
說是好東西但其實我被他折磨了 5 小時Orz 不知道大家有沒有去網路上下載別人的 project 回家自己編過? 通常那種 project 的編譯方式是這樣: $ ./configure (視情況加上一些參數) $ make $ make install (如果想安裝在系統上的話) 這種 project 通常為了要能夠省下大幅的打指令+手殘問題 以及為了確保你在 compile 這個 project 前的準備工作有做完 (例如檢查該裝的程式或是這個 project 會用到的 library 等等) 所以會有一個 script (就是上面提到的 configure) 去檢查這些事情 此時如果檢查通過,則會依照你系統的狀態產生相對應的 Makefile 不然會有 error message 告訴你哪裡出問題~ 而 autoconf 就是幫妳做到這件事情的工具! 並且這也是為什麼這種 project 不是直接給你 Makefile 的原因所在 因為 Makefile 不適合用來做到以上的檢查工作 並且寫起來也比較囉嗦~ ------ 以上賺 P 幣結束 ------ autoconf 其實是個很複雜的鬼東西,不過如果只是小型的 project 那其實就不難,短短幾行就可以結束的事情 首先,我們需要安裝以下套件: autoconf, automake, m4, perl 再來,簡單的說明一下整個的流程: 1. 先利用 autoscan (上面那些東西裝完就會有的) 在 project 的根目錄執行一次,執行完後會看到 configure.scan 這個檔案 再來把她改名成 configure.ac 或是 cofigure.in 以下假設檔名改為 cofigure.ac 2. 修改 configure.ac 成你要的內容 稍後再說明要怎麼改 3. 開新檔案並命名成 Makefile.am,再依據你的 project 填入必要資訊 4. 依序執行以下指令 $ aclocal $ autoconf $ automake --add-missing 這樣就會看到資料夾裡出現 configure 這個 script 啦! 出現之後的編譯步驟就照一開始提到的作法 讓這個 script 跑出你要的 Makefile 後就可以了! (如何修改 configure.ac 及 Makefile.am 下集待續) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.241.158
sanctitysky:分兩篇賺嗎? 02/13 17:25
shininglion:寫在同一篇太長了XD 02/13 17:57