CMake項目的完整構建
Linux下的CMake項目通常由幾個文件夾組成。小伙伴們可以先在自己的電腦上新建一個文件夾,作為你代碼的根目錄,然后往里面建幾個子文件夾,這里並不涉及具體的代碼,只是可以作為今后寫代碼的模板,萬事開頭難嘛!
子文件1:bin
用來放編譯好的可執行二進制文件,二進制文件就是可以直接運行的程序
子文件2:src
用來放源代碼
子文件3:lib
用來放編譯好的庫文件夾,庫文件是為二進制提供函數
子文件4:include
用來放頭文件
CMakeLists.txt
既然是CMake項目肯定得有CMakeLists.txt
最后還有LICENSE和README.md
為什么要使用這種目錄結構呢?這其實是一種編譯習慣,當然也可以把所有的文件都放在一個目錄里。在工程量比較小的情況下,這種方式可能顯的很繁瑣,之前在CMake實踐1中也講到過CMake編譯是分內部編譯和外部編譯兩種的,如果工程量很小,可以是內部編譯。但是,為了養成良好的編譯風格,增加代碼的可讀性,我們通常還是采用的外部編譯方式,即建一個build文件夾,在里面進行編譯。上面分為子文件的方式也是這樣的,也是為了增加代碼可讀性,把整個工程整理的很清楚。
O(∩_∩)O
在linux下,開發工具被切割成一個個獨立的小工具。各自處理不同的問題。例如:
編輯器(emacs, vim) 用來進行編輯程序的
調試器(gdb) 用來調試程序
編譯器(GCC) 用來編譯和鏈接程序的
性能分析工具(gcov, gprof) 用來優化程序的
文檔生成器(doxygen) 用來生成文檔的
同時,還有一些系統工具和系統知識,我們是很有必要了解的:程序自動化機制 makefile,系統粘合劑shell,系統查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。