Unix/Linux 軟體安裝
首先我們明确。在Unix like的機器上,一套軟體并不唯獨一個程式,而是一堆程式代碼檔案。
比如main.c,haha.c,sin_value.c這三個源碼檔案。
1.程式源代碼
1.1用gcc等編譯工具手動編譯
#什麼是gcc工具?GNU的gcc工具是非常通用的C語言編譯器。
gcc -c main.c
gcc -c haha.c
gcc -c sin_value.c
gcc -c cos_value.c
生成main.o,haha.o,sin_value.o,cos_value.o 4個經過編譯檔案。
将幾個.o檔案進行連接配接。并增加libm數學函數,以生成main可運作檔案。
gcc -o main main.o haha.o sin_value.o cos_value.o \
-lm -L/usr/lib -L/lib
#然後我們就能夠跑main這個可運作檔案了。
[padep@cnsz081003 fwy]$ ./main
Please input your name: fengweiyuan
Please enter the degree angle (ex> 90): 110
Hi, Dear fengweiyuan, nice to meet you.
The Sin is: 0.94
The Cos is: -0.34
1.2 用configure與make等工具編譯源代碼
./configure
檢測使用者環境,檢查該OS是否适合等。然後會生成makefile文本檔案。
1.是否有适合的編譯程式,能夠編譯本軟體的程式源代碼。
2.是否已經存在本軟體所需的函數庫或其它依賴軟體。
3.OS平台,包含核心版本号,是否适合本軟體。
4.核心的頭定義檔案是否存在。
makefile其中記錄了源代碼怎樣編譯等資訊。這個步驟的相關資訊你能夠參考README與INSTALL等檔案。
makeclean
不一定須要。但運作一下比較安全。假設已經有上次編譯過的.o檔案存在,當然是清除一下比較好。這樣我們就可确定新編譯出來的運作檔案我們能夠确定是使用自己的機器所編譯完畢的。
make
會在目前檔案夾下搜尋makefile這個文本檔案,利用makefile來編譯源代碼,編譯成可運作檔案,放目前檔案夾下。(這個過程就如上面1.1的生成.o檔案,将.o檔案連接配接一起并加函數庫的工作)。
make會自己主動推斷源代碼是否經過變動了而自己主動更新運作檔案。
make install
假設makefile裡面有寫上關于install的選項。就會将上一步編譯完畢的檔案安裝到預設的檔案夾下。以完畢安裝。
這些步驟是一個一個來的,前面的沒有成功,後面的也無法運作。
總結
因為不同OS的函數庫路徑、或者函數庫檔案名稱定義,或者是預設安裝的編譯程式。以及核心版本号不同。