標籤:

Ubuntu下邊用邊學CMAKE(一)

  1. 安裝

    sudo apt-get install cmake

  2. 簡單的編譯例子:將 main.c 編譯成可執行文件

    #include <stdio.h>int main(){ printf("hello world.
    ");}

    我們需要寫一個 CMakeLists.txt

    project(ex1)add_executable(ex1 main.c)

    若main.c 和 CMakeLists.txt在同一目錄下,則輸入

    cmake .

    (.)不可忽略,代表當前目錄

    如下圖所示表示成功,CMake 會在目前的目錄下產生相關的makefile

    然後輸入

    make

    如下圖所示表示成功,make形成了可執行文件

    執行

    ./ex1

    如下圖所示,輸出 hello world. 表示成功

  3. 源碼之外建置

    例如 CMAKE_Files/MathCal/src/ 下存在CMakeLists.txt calc.c calc.h main.c四個文件,我們想將編譯產生的文件另存在一個地方,不與源代碼混合

    在 CMAKE_Files/MathCal 的目錄下輸入

    mkdir buildcd buildcmake ../src/make

    產生如下圖所示的結果則表明可執行文件生成成功

    執行

    ./ex1

    即可輸出如下結果:

    備註:

    main.c

    #include <stdio.h>#include "calc.h"int main(){ printf("Square of 2 is %d
    ", Square(2)); printf("Square of 5 is %d

    ", Square(5)); printf("Cube of 2 is %d
    ", Cube(2)); printf("Cube of 5 is %d

    ", Cube(5)); return 0;}

    calc.c

    int Cube(int x){ return x * x * x;}int Square(int x){ return x * x;}

    calc.h

    #ifndef CALC_H#define CALC_Hint Cube(int x);int Square(int x);#endif

    CMakeLists.txt

    project(ex2)add_executable(ex2 main.c calc.c)

    參考來源:zh.wikibooks.org/w/inde

推薦閱讀:

解決 Windows 下 Python 安裝 Dlib 的問題:Cmake 找不到 boost
macOS Sierra10.12.6下安裝OpenCV3.3.0
vs2017怎麼用內置CMAKE編譯opencv??

TAG:CMake |