首先,是瞭解linux下c++程序需要做那些事情。
gcc是GNU Compiler Collection。可以簡單的認爲是一種可以編譯多種語言的編譯器。
1.簡單的程序(一個程序文件)
當程序只有一個源文件時,直接就可以用gcc命令編譯它。
寫好以後在terminal: g++ -Wall file.cpp -o file
/.file
就可以看到輸出。
2.文件比較多的時候,逐個編譯很麻煩,容易混亂。
cmake是跨平臺項目管理工具,它用更抽象的語法來組織項目。使用cmake編譯cmake命令執行的CMakeLists.txt文件
先看看make:
make通過調用makefile文件中用戶指定的命令來進行編譯和鏈接的。makefile命令中就包含了調用gcc(也可以是別的編譯器)去編譯某個源文件的命令。
makefile在一些簡單的工程完makefile在一些簡單的工程完全可以人工手下,但是當工程非常大的時候,手寫makefile也是非常麻煩的,如果換了個平臺makefile又要重新修改。
這時候就出現了Cmake這個工具,cmake就可以更加簡單的生成makefile文件給上面那個make用。當然cmake還有其他功能,就是可以跨平臺生成對應平臺能用的makefile,你不用再自己去修改了。
cmake根據一個叫CMakeLists.txt文件(學名:組態檔)去生成makefile。CMakelist.txt是我們編寫的。
參考:http://www.zhihu.com/question/27455963