如果經常在Linux系統下面與C、C++檔案打交道的話,一定經常遇到四/五步走:
mkdir build
cd build
cmake ..
make
// 如果是安裝依賴庫的時候會用到
make install
前兩步并不難了解,就是想把對應項目的編譯檔案放在
build
目錄下,這樣便于管理。如果要傳送源檔案,可以直接删除
build
檔案夾。
編寫程式的主要步驟
- Edit: 使用編輯器編寫源代碼,如
,.c
,.cc
等檔案。.cpp
- Compile: 使用編譯器編譯源代碼生成目标檔案,如
,.o
(Linux下靜态庫),.a
(Linux下共享庫)等檔案。.so
- Link: 使用連接配接器連結目标代碼生成可執行檔案,如
(Window),.exe
(Unix)等檔案。.out
cmake
通過編寫cmakelist檔案,自動生成makefile。
make
make可以用來批處理
.c
或
.cpp
檔案的,它從makefile中讀取相應指令,然後編譯。
make install
将 make 生成的檔案安裝到系統的對應目錄中,比如從github上下載下傳下來一個依賴庫的安裝包,解壓後經過上面幾步,該依賴庫的對應頭檔案和庫檔案就安裝到系統中了。
一般來說,大部分的依賴庫安裝步驟完成後。庫的頭檔案在
/usr/local/include/dependency_name/
目錄下,庫檔案則存在
/usr/local/lib/
目錄下。是以,安裝完成後可以去相應目錄下檢視是否有對應的檔案,如果則初步說明安裝成功。或者去網上搜一些測試程式跑跑看是否正确調包并執行。
Pipeline
源檔案 --> cmakelist --> cmake --> makefile --> make --> 可執行檔案
示意圖[1]如下:
references:
- make、cmake、make install、configure
- configure/make/make install的作用