cmake安裝
首先卸載cmake
sudo apt-get autoremove cmake
安裝cmake
cd ~/Download wget https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz tar -xzvf cmake-3.13.0-Linux-x86_64.tar.gz # 解壓出來的包,將其放在 /opt 目錄下,其他目錄也可以,主要別以后不小心刪了 sudo mv cmake-3.13.0-Linux-x86_64 /opt/cmake-3.13.0 # 建立軟鏈接 sudo ln -sf /opt/cmake-3.13.0/bin/* /usr/bin/ # 查看 cmake 版本 cmake --version
cmake、make 、cmakelist、makefile簡介
1. gcc
它是GNU Compiler Collection(就是GNU編譯器套件),也可以簡單認為是編譯器,它可以編譯很多種編程語言(括C、C++、Objective-C、Fortran、Java等等)。
我們的程序只有一個源文件時,直接就可以用gcc命令編譯它。
可是,如果我們的程序包含很多個源文件時,該咋整?用gcc命令逐個去編譯時,就發現很容易混亂而且工作量大,所以出現了下面make工具。
2. make
make工具可以看成是一個智能的批處理工具,它本身並沒有編譯和鏈接的功能,而是用類似於批處理的方式—通過調用makefile文件中用戶指定的命令來進行編譯和鏈接的。
3. makefile
這個是啥東西?
簡單的說就像一首歌的樂譜,make工具就像指揮家,指揮家根據樂譜指揮整個樂團怎么樣演奏,make工具就根據makefile中的命令進行編譯和鏈接的。makefile命令中就包含了調用gcc(也可以是別的編譯器)去編譯某個源文件的命令。
makefile在一些簡單的工程完全可以人工拿下,但是當工程非常大的時候,手寫makefile也是非常麻煩的,如果換了個平台makefile又要重新修改,這時候就出現了下面的Cmake這個工具。
4. cmake
cmake就可以更加簡單的生成makefile文件給上面那個make用。當然cmake還有其他更牛X功能,就是可以跨平台生成對應平台能用的makefile,我們就不用再自己去修改了。
可是cmake根據什么生成makefile呢?它又要根據一個叫CMakeLists.txt文件(學名:組態檔)去生成makefile。
5. CMakeList.txt
到最后CMakeLists.txt文件誰寫啊?親,是你自己手寫的。
新建項目參考這個:
https://zhuanlan.zhihu.com/p/110513954