源碼編譯安裝


程序包編譯安裝:
testapp-VERSION-release.src.rpm --> 安裝後,使用rpmbuild命令製做成二進制格式的rpm包,然後再安裝;java

源代碼 --> 預處理 --> 編譯(gcc) --> 彙編 --> 連接 --> 執行c++

源代碼組織格式:
多文件:文件中的代碼之間,極可能存在跨文件依賴關係;apache

C、C++: make (configure --> Makefile.in --> makefile)
java: maven緩存


C代碼編譯安裝三步驟:
./configure:
(1) 經過選項傳遞參數,指定啓用特性、安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makefile;
(2) 檢查依賴到的外部環境;
make:
根據makefile文件,構建應用程序;
make installapp

開發工具:
autoconf: 生成configure腳本
automake:生成Makefile.inmaven

建議:安裝前查看INSTALL,README工具

開源程序源代碼的獲取:
官方自建站點:
apache.org (ASF)
mariadb.org
...
代碼託管:
SourceForge
Github.com
code.google.com開發工具

c/c++: gcc (GNU C Complier)ui

編譯C源代碼:
前提:提供開發工具及開發環境
開發工具:make, gcc等
開發環境:開發庫,頭文件
glibc:標準庫google

經過「包組」提供開發組件
CentOS 6: "Development Tools", "Server Platform Development",

第一步:configure腳本
選項:指定安裝位置、指定啓用的特性

--help: 獲取其支持使用的選項
選項分類:
安裝路徑設定:
--prefix=/PATH/TO/SOMEWHERE: 指定默認安裝位置;默認爲/usr/local/
--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安裝位置;

System types:

Optional Features: 可選特性
--disable-FEATURE
--enable-FEATURE[=ARG]

Optional Packages: 可選包
--with-PACKAGE[=ARG]
--without-PACKAGE

第二步:make

第三步:make install

安裝後的配置:
(1) 導出二進制程序目錄至PATH環境變量中;
編輯文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH

(2) 導出庫文件路徑
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫文件所在目錄至此文件中;

讓系統從新生成緩存:
ldconfig [-v]

(3) 導出頭文件
基於連接的方式實現:
ln -sv

(4) 導出幫助手冊 編輯/etc/man.config文件 添加一個MANPATH

相關文章
相關標籤/搜索