十分鐘搞定 C/C++ 專案自動化構建 —— Xmake 入門指南
上面是一個開發中的經典問題場景,發生的原因通常是:開發者工作機上的某些依賴項沒有安裝在測試或者客戶環境中,導致程式無法執行或者報錯。
如何有效地避免這個尷尬的場景呢?那就需要一個持續的、可複用的自動構建流程,這樣會促使團隊保證他們的軟體在 IDE 和開發者工作機之外也能夠編譯並執行基本的單元測試集。
今天給大家介紹一款非常好用的 C/C++ 專案構建工具 ——Xmake。目前它已經在 Github 收穫了 2.9K star、300+ fork,並且處理了 900+ issues、5400+ Commits,star 數也超過了大部分同類構建工具,逐漸逼近 cmake。同時,Xmake在易用性上完全趕超 cmake,對新手非常友好,短時間內就能入門。
Xmake 簡介
**友好 ——**xmake 是一個基於 Lua 的輕量級跨平臺構建工具,使用 xmake.lua 維護專案構建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對新手非常友好,短時間內就能快速入門,能夠讓使用者把更多的精力集中在實際的專案開發上。
**強大 ——**雖然,簡單易用是 xmake 的一大特色,但 xmake 的功能也是非常強大的,既能夠像 Make/Ninja 那樣可以直接編譯專案,也可以像 CMake/Meson 那樣生成工程檔案,還有內建的包管理系統來幫助使用者解決 C/C++依賴庫的整合使用問題。
**快速 ——**目前,xmake主要用於C/C++專案的構建,但是同時也支援其他native語言的構建,可以實現跟C/C++進行混合編譯,同時編譯速度也是非常的快,可以跟Ninja持平。
Xmake 的****安裝
使用curl
bash <(curl -fsSL https://xmake.io/shget.text)
使用wget
bash <(wget https://xmake.io/shget.text -O -)
使用powershell
Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content
簡單的工程描述
target("console") set_kind("binary") add_files("src/*.c")
包依賴描述
構建工程
$ xmake
執行目標
$ xmake run console
除錯程式
$ xmake run -d console
入門教程
Xmake 的作者在實驗樓釋出了一門 Xmake 入門和進階課程,以邊學邊練習的方式快速學習 xmake 的使用,帶你輕鬆構建 C/C++ 專案。
課程以循序漸進的方式,帶你入門和進階 xmake,從最基礎的編譯配置,到複雜專案的定製化組織和維護,在課程最後幾節,我們還通過實戰的方式,一步步帶你體驗第三方 C/C++ 專案的移植編譯,以及 vscode/xmake 整合環境的視覺化編譯操作流程。最後一節實驗中,我們還會講解如何使用 xmake 和 vscode 去編譯開發基於 Qt 的應用程式。
你將學到