對(duì)于用編譯型語(yǔ)言(如 C 或者 C++)寫的程序來(lái)說(shuō)(GTK+ 和它的一些依賴庫(kù)就是用 C 語(yǔ)言寫成的),軟件的構(gòu)建過(guò)程主要是編譯和連接的過(guò)程。在 Linux 系統(tǒng)上,構(gòu)建是通過(guò)執(zhí)行 make 命令實(shí)現(xiàn)的:
$ make
make 是根據(jù) Makefile 的內(nèi)容來(lái)決定如何構(gòu)建程序的,而這個(gè) Makefile 就是上面配置的產(chǎn)物。執(zhí)行 make 命令之后,程序的編譯過(guò)程就開(kāi)始了。這是一個(gè)比較耗時(shí)的過(guò)程,特別是對(duì)于一些大型的軟件包(如 GTK+ 及其依賴庫(kù))來(lái)說(shuō)更是這樣。
make 結(jié)束后,也可以執(zhí)行 echo $? 命令檢查 make 是否執(zhí)行成功。一般只要配置通過(guò)了,make 應(yīng)該不會(huì)出現(xiàn)什么問(wèn)題才是。
make 的結(jié)果,對(duì)于程序來(lái)說(shuō),主要生成的是可執(zhí)行程序文件;對(duì)于庫(kù)來(lái)說(shuō),主要生成的是庫(kù)文件。下面的安裝過(guò)程將把需要的文件拷貝到在配置時(shí)指定的安裝目錄中去。
6.2.4 安裝
構(gòu)建成功的軟件包的安裝是通過(guò)帶 install 參數(shù)的 make 進(jìn)行的:
$ make install
需要在此說(shuō)明的是:在 Linux 系統(tǒng),除了 root 用戶和具有相應(yīng)權(quán)限的用戶之外,一般用戶只有在自己的用戶目錄下才有寫權(quán)限;對(duì)于用戶目錄之外的其它目錄和文件,一般只能讀而不能寫。我們?cè)谂渲玫臅r(shí)候?qū)⒃O(shè)置的安裝目錄是 /opt/gtk,對(duì)于一般用戶來(lái)說(shuō)是只讀的。如果是這樣的話,上面的 make install 雖然被執(zhí)行,但是由于沒(méi)有寫的權(quán)限,不能向這個(gè)目錄中拷貝文件,所以安裝是不成功的。
一般需要如下面這樣先切換到 root 用戶,然后再進(jìn)行安裝:
$ su
# make install
上面的“#”符號(hào)表示處于 root 狀態(tài)下的命令行提示符。
在執(zhí)行完 make install 之后,也可以用 echo $? 檢查是否執(zhí)行安裝成功。