"編譯"兩個字讓人感覺高深莫測, 實際上, 把"代碼"轉(zhuǎn)變成計算機可以執(zhí)行的"二進制文件", 就叫做"編譯/compile". 先編譯這個, 還是先編譯那個(即編譯的順序安排),叫做"構(gòu)建/build". 其中, "make"是最常用的構(gòu)建工具.
編譯軟件的通用步驟
編譯軟件有 3 個步驟:
- 下載并解壓源代碼;
- 配置編譯選項, 比如指定軟件的安裝路徑
.configure --prefix=/安裝/路徑
,(通過./configure --help
可以查看其它安裝選項, 至于如何取舍這些選項, 就得上網(wǎng)搜索前人的經(jīng)驗了); -
make && make test && sudo make install
:-
make
表示將源代碼編譯生成二進制文件. 如果在 make 過程中出現(xiàn) error, 需要記下錯誤, 上網(wǎng)搜索別人的解決方案(提醒一下: error 并不只出現(xiàn)在最后一行); -
make test
是對上一步的make
生成的二進制文件進行檢查, 測試在你的環(huán)境下能否正確執(zhí)行這些二進制文件; -
sudo make install
表示把之前生成的二進制文件復(fù)制到--prefix
指定的安裝路徑中. 因為要向系統(tǒng)寫入文件, 所以需要sudo
獲取 root 權(quán)限.
-
以 Memcached 為例
計劃將源碼下載到 /usr/local/src, 將軟件安裝到 /usr/local/memcached.
- 1.下載解壓
cd /usr/local/src #一般把源碼放在這個目錄
wget http://memcached.org/files/memcached-1.4.39.tar.gz #下載源碼
tar -zxvf memcached-1.4.39.tar.gz #解壓縮
- 2.配置參數(shù)
cd memcached-1.4.39
.configure --prefix=/usr/local/memcached # 配置
- 3.編譯
make && make test && sudo make install
驗證 Memcached 是否正確安裝:
/usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -vv
我的另外一篇文章, 記錄了在 CentOS 編譯安裝 PHP 的 Memcached 插件的過程, 參見編譯安裝 PHP 的 Memcached 擴展
參考文章
- 簡書 - Linux 編譯 常用PHP 擴展
- Linux下 config/configure/Configure、make 、make test/make check、sudo make install 的作用
- 阮一峰 - Make 命令教程
文章歷史
- 2017/07/9 (第一次發(fā)布)
- 2017/07/10 添加注釋; 引用另一篇文章 -- 編譯安裝 PHP 的 Memcached 擴展
如果我的文章對你有用, 希望給些改進的建議, 或者打個"喜歡" _