CMake 如何入門?

時間 2021-05-06 19:12:13

1樓:Biggee Lucloner

要用到自然會用。。。那東西有什麼技巧常規會生成一些然後你需要改一下引數 c++標準之類

話說vs裡面也有這類設定。。。跑cmake比如用codeblocks,得自己寫

或者安卓裡面會有用到。

比makefile來得乾淨整潔。感受就是這樣。

2樓:講泰語的潮汕人

《CMAKE實踐》是「乙份面向使用和實用的 cmake 文件,是邊學習邊編寫的成果,更像是乙個學習筆記和 Tutorial」

提取碼:0un9

3樓:

CMake的文件其實寫的很不錯,但是它最大的問題是只教你每條命令可以做什麼,卻不告訴你如何組織乙個功能性好,閱讀性高的CMakeLists.txt。建議從例子中學習,需要什麼查什麼,再輔以文件的解釋,以下的例子比較齊全,包含了單元測試,靜態分析等專案的骨架。

ttroy50/cmake-examples

4樓:悽臨雨

cmake的好處實在不如sln多。

cmake的工程簡單起來功能賊弱,複雜起來就得寫個幾百行的指令碼別人看不懂、無法嵌入到不同開發組織的專案。

sln很容易被IDE解析,被分析管理,理論上能提供最先進的並行編譯和依賴關係,最好的編譯速度。

關鍵是通用,即使是第三方出品的專案的配置檔案也可以輕易的被工具修改生成,很難想象乙個工具可以去修改第三方的cmake檔案。

借助於props的繼承覆蓋機制,每個proj都是從空配置一層一層堆起來的,即使proj的專案目標有依賴,配置也完全沒有【汙染】;而cmake的巢狀非常容易產生汙染,cmake最大的問題就是瘋狂的汙染配置,載入乙個子指令碼,卻沒有解除安裝子指令碼清空其影響的沙盒機制。

sln仍然能提供很多編譯命令,編譯時觀察生成的log也能看出編譯器到底執行了什麼命令。所以說什麼make體系多能鍛鍊人讓人了解編譯過程的就歇歇吧。

sln的大規模專案的組織能力完爆cmake。

5樓:劉寧

這種東西都不是什麼核心的技術,先專心在乙個平台上把c++程式寫好才是正事,以後萬一碰到了需要跨平台的時候再現學。事實上絕大部分人根本碰不到跨平台的場景。

6樓:zpan

直接看官方文件:CMake Reference Documentation - CMake 3.8.0 Documentation

建議先看

cmake-buildsystem(7) - CMake 3.8.0 Documentation

cmake-language(7) - CMake 3.8.0 Documentation

其他的東西邊用邊查

7樓:

別再CMAKE MAKEFILE了,時代變了試試build system吧比如狗家出的Bazel. 對了 bazel是內部版本blaze的開源實現,像tensorflow的build system就是bazel

8樓:文盲怪

我是自己配opencv,後來遇到dlib的良心cmakelists,然後逐漸熟悉起來的。

如果windows,用visualstudio就好了,想深入就去看一下編譯鏈結的書籍。cmake好處還是很小的,visualstudio有msbuild,或者稍微低層一點的nmake,我以前用tdmgcc一套,最後還是轉用visualstudio了。完全可以讓ide接管專案配置這些流程的。

9樓:

優勢在於跨平台,如果想讓自己專案在不同平台上構建可以考慮cmake這種工具。

最開始我也嘗試想一口氣看完在開始寫CMakeLists.txt,結果吃力不討好。

所以最好就是先大致看看cmake的大致工作原理(當時也看了藍大大推薦的那個pdf),然後剩下具體的就根據自己專案構建的需求左手google,右手別人專案裡的例子,邊看邊查邊自己寫。

10樓:林榮彬

把cmake實踐上面例子敲一遍:

pan.baidu.com/share/link?shareid=3179467973&uk=1596730081不謝

11樓:汪周洋

入門非常簡單,都不需要看書,網上隨便找個例子,學幾條命令,輕鬆把乙個工程編譯起來。別學太複雜,複雜了cmake又變的和手寫makefile一樣晦澀了

12樓:藍色

核心觀點:Learning by Doing.邊做邊學,由淺入深,以問題驅動自己去做。

比如如何使用CMake建立乙個可執行程式,如何建立乙個動態庫/靜態庫,如何配合第三方庫,如何支援不同平台不同編譯器以及其引數,如何用CMake組織多層目錄的專案,如何自定義CMake Target,如何使用CMake呼叫外部工具等等。

學習也不用想著100%都知道了才能開始做,這對於CMake這樣的工具是更加不可取的做法。無論如何,推薦乙個材料叫CMake實踐,搜尋這個名字"CMake實踐 PDF"就會出來相應的pdf。

而CMake的好處在於什麼呢?乙個巨大的好處就在於你不用去折騰平台了,Windows你需要建立Visual Studio專案檔案,還是如何?Linux建立Makefile?

OS X建立Xcode專案檔案?編譯選項呢?實際上大部分你的配置都會是一樣的,使用CMake會給你很好的專案維護性,也會降低你的維護成本。

如何讓cmake支援mingw?

LiTuX Download msys2 base system from msys2.sf.net Extract to a folder,say,C msys Enter the folder,double click on the mingwXX shell batch file or msy...

Cmake是什麼?有什麼用?在WINDOWS下如何用?

程式媛鼓勵師 你都配置路勁和變數名都錯了,再g一下看看 或者看看你的Cmakeoutput中有沒有有效的資訊提示。應該提示的也都在你這介面上了,檢查一下cmakelist吧,在cmkae軟體介面上直接更改也可以。 汪周洋 windows下面,也可以向linux那樣,進入windows命令列,進入工程...

銷售入門小白如何快速入門?

做任何事情要是能快速的掌握事務的本質,找到其規律,然後持續去做,就會容易很多,只可惜的是很多人都沒有掌握這個規律,銷售的具體的規律可以檢視下面的這個圖。多學習,多看,多交流,積累經驗,學會使用工具,CRM系統能夠將工作流自動化處理,根據所配置的規則自動流轉任務,節省工作時間。在操作層面,CRM系統能...