Cpp 三 什麼是CMake

2021-10-24 02:24:36 字數 902 閱讀 8048

macos 10.15

.5

什麼是cmake? 需要先了解cpp的流程用編輯器(vscode/clion等)編寫源**,如main.cpp檔案

用編譯器編譯**生成目標檔案,如.o

用鏈結器連線目標**生成可執行檔案,如windows下的.exe和linux下的可執行檔案

如果原始檔(.cpp)過多,乙個乙個編譯就會特別麻煩,於是就有了make工具,它是乙個自動化編譯工具,可以使用一條命令實現完全編譯,但是開發者需要編寫乙個規則檔案,make依據規則檔案來批處理編譯,這個檔案就是makefile

但是對於乙個特別巨大的工程來說,編寫乙個makefile確實是一件非常複雜的事情,於是出現了cmake,cmake負責讀入所有原始檔,然後自動生成makefile,但是這時,需要開發者編寫乙個規則檔案,cmake通過這個規則檔案生成makefile,這個檔案就是cmakelists.txt

所以,乙個cpp工程,從原始碼到執行,可以手動編寫makefile檔案,然後編譯,生成乙個可執行檔案;也可以編寫cmakelists檔案,通過cmake工具,自動生成makefile檔案,然後編譯生成可執行檔案

cmake是做什麼的?

cmake cross platform make 是乙個開源的跨平台自動化構建工具,可以跨平台地生成各式各樣的 makefile 或者 project 檔案,支援利用各種編譯工具生成可執行程式或鏈結庫。cmake 自己不編譯程式,它相當於用自己的構建指令碼 cmakelists.txt,叫各種編譯...

什麼是SNS(三)

第五章 sns的主要營銷策略簡介定價 sns面向個人消費者是免費的。只面對戰略結盟者收取少量軟體准入許可費。sns進入市場的戰略是結盟掠奪式和侵略性的。掠奪基於伺服器的網際網路公司的使用者資源 使msn qq skype這類即時通訊商永遠也不要指望他們可以依靠賣註冊號碼賺錢,也不要指望依靠廣告獲得收...

什麼是三正規化

1 第一正規化 當關係模式r的所有屬性都不能在分解為更基本的資料單位時,稱r是滿足第一正規化的,簡記為1nf。滿足第一正規化是關係模式規範化的最低要求,否則,將有很多基本操作在這樣的關係模式中實現不了。2 第二正規化 如果關係模式r滿足第一正規化,並且r得所有非主屬性都完全依賴於r的每乙個候選關鍵屬...