天天看點

關于cmake、make、make install

如果經常在Linux系統下面與C、C++檔案打交道的話,一定經常遇到四/五步走:

mkdir build
cd build
cmake ..
make
// 如果是安裝依賴庫的時候會用到
make install
           

前兩步并不難了解,就是想把對應項目的編譯檔案放在

build

目錄下,這樣便于管理。如果要傳送源檔案,可以直接删除

build

檔案夾。

編寫程式的主要步驟

  1. Edit: 使用編輯器編寫源代碼,如

    .c

    .cc

    .cpp

    等檔案。
  2. Compile: 使用編譯器編譯源代碼生成目标檔案,如

    .o

    .a

    (Linux下靜态庫),

    .so

    (Linux下共享庫)等檔案。
  3. Link: 使用連接配接器連結目标代碼生成可執行檔案,如

    .exe

    (Window),

    .out

    (Unix)等檔案。

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]如下:

關于cmake、make、make install

references:

  1. make、cmake、make install、configure
  2. configure/make/make install的作用

繼續閱讀