cmake (0)简介
生活随笔
收集整理的這篇文章主要介紹了
cmake (0)简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 問題場景
gcc(GNU Compiler Collection)即為GNU編譯器套件,也可以簡單認為是編譯器,它可以編譯很多種編程語言,包括C、C++、Objective-C、Fortran、Java等。當程序只有一個源文件時,直接就可以 用gcc命令編譯它。但如果源文件太多,一個一個編譯就會顯得非常繁瑣,于是研發人員想到,為什么不設計一種類似批處理的程序,來批處理編譯源文件呢,于是就有了make工具。
1.1 makefile
一個規則文件,make依據該規則文件來批處理執行編譯。
問題:對于一個大工程,編寫makefile是件極其復雜的事,手動編寫不僅耗時且容易出錯,于是研發人員又想到,為什么不設計一個工具,讀入所有源文件之后,自動生成makefile呢,于是就出現了CMake工具
2. 定義
CMake是一個跨平臺的自動化 安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。
- 輸出各種各樣的makefile或者project文件 。
- 編寫cmakelists文件,它是CMake所依據的規則(值得注意的是,相對于編寫makefile文件,編寫makelists文件要簡單的多)
2. 1原理
輸入:組態檔CMakeLists.txt文件(組態檔是一種建構軟件專用的特殊編程語言寫的CMake腳本)
輸出:各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。
2.2 CMake 功能
- 可以編譯源代碼、制作程序庫、產生適配器(wrapper)
- 可以用任意的順序建構執行檔。
- 支持 in-place 建構(二進檔和源代碼在同一個目錄樹中)和 out-of-place 建構(二進檔在別的目錄里),因此可以很容易從同一個源代碼目錄樹中建構出多個二進檔。
- 支持靜態與動態程式庫的建構。
總結
以上是生活随笔為你收集整理的cmake (0)简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(cha
- 下一篇: C++ Primer 5th笔记(cha